public class DSField extends DataTypeMap
Contains accessors for all documented DataSource properties and a general getProperty() API for retrieving your own properties for custom DataSource implementations.
Modifier and Type | Method and Description |
---|---|
java.lang.String | getBeanPropertyName() Returns property name for this field: Returns valueXPath if specified. |
java.lang.String | getForeignKey() Returns the foreign key, if set. |
java.lang.String | getIncludeFrom() Returns value for "includeFrom" property of this field if set, null otherwise |
java.lang.Long | getLength() Returns the length of this field, if specified. |
java.util.List | getListProperty(java.lang.String property) Returns the value of the specified attribute as a List. |
java.util.Map | getMapProperty(java.lang.String property) Returns the value of the specified attribute as a Map. |
java.lang.String | getName() Returns the name of this field. |
java.lang.String | getNativeName() Returns the native name of this field. |
java.lang.Object | getObjectProperty(java.lang.String property) Returns the value of the specified element(s) as an Object. Custom XML is transformed to Strings or Java collections by the following rules: Elements with just text (no child elements or attributes) become Strings Elements with child elements or attributes become Maps containing data derived from their subelements Repeating elements (more than one of the same name at the same level) become Lists Sample XML: Map <field> List of String <field> List of Map <field> |
java.lang.String | getOtherFKs() Returns otherFKs property, if set. |
java.lang.String | getProperty(java.lang.String property) For an XML DataSource, returns the value of the specified attribute as a string. |
java.lang.String | getTitle() Returns the title of this field, if any. |
java.lang.String | getTitle(java.util.Locale locale) Returns the i18n message for the localized field title, otherwise returns String title, if any. |
java.lang.String | getTitleKey() Returns the i18n key for the field title if it is localized, otherwise returns null . |
java.lang.String | getType() Returns the type of this field. |
java.util.List | getValidators() Returns the List of Validators defined on this DSField |
java.lang.String | getValueWriteXPath() For an XML DataSource, returns the XPath expression used as alternative way to set the field value. |
java.lang.String | getValueXPath() For an XML DataSource, returns the XPath expression used to retrieve the field value. |
boolean | isAutoGenerated() Returns true if this field value is auto-generated by data base or ORM provider, false otherwise. |
boolean | isConditionallyRequired() Returns true if this field might be required. |
boolean | isInapplicable() Returns the value of this field's "inapplicable" property (default false) |
boolean | isPrimaryKey() Returns true if this field is a primary key, false otherwise. |
boolean | isRequired() Returns true if this field is required, false otherwise. |
boolean | shouldEncodeInResponse() Returns true if this is a field of binary type that also has "encodeInResponse" set |
public java.lang.String getName()
public boolean isRequired()
public boolean isConditionallyRequired()
public java.lang.String getType()
Valid values include (please see the client-side documentation for details of what these types mean):
public java.lang.Long getLength()
public java.lang.String getTitle()
public java.lang.String getTitle(java.util.Locale locale)
String
title, if any.locale
- java.util.Locale
to use. If null
is passed default locale will be used.String
title, if any.public java.lang.String getTitleKey()
null
.null
otherwisepublic boolean isPrimaryKey()
public boolean isAutoGenerated()
public java.lang.String getForeignKey()
If set, declares that this field holds values that can be matched to values from another DataSource field, to create a relationship between records from different DataSources or even records within the same DataSource.
The format of the foreign key is <dataSourceId>.<fieldName>
.
public java.lang.String getOtherFKs()
otherFKs
property, if set. In addition to regular foreign key
this property defines additional foreign keys if field is related to multiple DataSources. This property may include the FK defined in "foreignKey" property as well.
The format of the otherFKs is coma separated foreign key sets, for example: <firstDS>.<fieldName>,<secondDS>.<fieldName>
.
Note that this property works only as an addition to regular FK, i.e. if foreignKey
is not set, then foreign keys in otherFK
will be completely ignored.
public java.lang.String getNativeName()
public java.lang.String getValueXPath()
public java.lang.String getValueWriteXPath()
public java.lang.String getProperty(java.lang.String property)
property
- the name of the attributepublic java.lang.Object getObjectProperty(java.lang.String property)
<field>
<mapCustomProperty key1="value1" key2="value2" />
</field>
<field>
<listCustomProperty>ListElement1</listCustomProperty>
<listCustomProperty>ListElement2</listCustomProperty> </field>
<field>
<mapCustomProperty key1="value1" key2="value2" />
<mapCustomProperty key1="value1" key2="value2" />
</field>
property
- the name of the element(s)DSField.getProperty(String)
, DSField.getListProperty(String)
, DSField.getMapProperty(String)
public java.util.List getListProperty(java.lang.String property)
property
- the name of the attributejava.lang.ClassCastException
- if requested property is not instanceof ListDSField.getProperty(String)
, DSField.getObjectProperty(String)
, DSField.getMapProperty(String)
public java.util.Map getMapProperty(java.lang.String property)
property
- the name of the attributejava.lang.ClassCastException
- if requested property is not instanceof MapDSField.getProperty(String)
, DSField.getObjectProperty(String)
, DSField.getListProperty(String)
public java.util.List getValidators()
public java.lang.String getIncludeFrom()
null
otherwisepublic java.lang.String getBeanPropertyName()
valueXPath
if specified. Supports only simple XPath definitions: "property/subProperty/subSubProperty". If XPath starts with slash ('/') - it is trimmed. Replaces slashes ('/') with periods ('.').String
bean property name. Can be composed of subproperties (for example: "address.zipCode").public boolean shouldEncodeInResponse()
public boolean isInapplicable()