Package de.esoco.data.element
Klasse StringDataElement
java.lang.Object
de.esoco.lib.property.AbstractStringProperties
de.esoco.lib.property.StringProperties
- Alle implementierten Schnittstellen:
de.esoco.lib.property.HasProperties
,de.esoco.lib.property.MutableProperties
,Serializable
- Bekannte direkte Unterklassen:
ProcessDescription
,SelectionDataElement
A data element implementation that contains a string value.
- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen de.esoco.data.element.DataElement
DataElement.CopyMode, DataElement.Flag
-
Feldübersicht
Von Klasse geerbte Felder de.esoco.data.element.DataElement
ALLOWED_VALUES_CHANGED, ANONYMOUS_ELEMENT_PREFIX, DISPLAY_FLAGS, HIDDEN_URL, INPUT_FLAGS, INTERACTION_URL, ITEM_ALL_RESOURCE, ITEM_NEW_RESOURCE, ITEM_RESOURCE_PREFIX, PATH_SEPARATOR_CHAR, SERVER_PROPERTIES
-
Konstruktorübersicht
ModifiziererKonstruktorBeschreibungprotected
Default constructor for serialization.StringDataElement
(String name, String value) Creates a new modifiable instance without a validator.StringDataElement
(String name, String value, Validator<? super String> validator, Set<DataElement.Flag> flags) Creates a new instance with a constraint for the possible element values. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungcopy
(DataElement.CopyMode mode, de.esoco.lib.property.PropertyName<?>... copyProperties) Returns a copy of this data element that contains all or a subset of it's current state.getPhoneNumberParts
(String number) Splits a phone number string into it's distinct parts and returns a list containing the parts.final String
getValue()
---------------------------------------------------------------- /** Returns the value of this element.<T> boolean
isValidValue
(Validator<? super T> validator, T value) Overridden to allow any value if this instance has the user interface propertyLIST_STYLE
with a value ofEDITABLE
.protected StringDataElement
Returns a new instance of the respective data element sub-type on which it is invoked.void
setStringValue
(String value) Sets a string value.protected final void
updateValue
(String newValue) Updates the element value.Von Klasse geerbte Methoden de.esoco.data.element.DataElement
checkImmutable, checkValidValue, copyAttributes, copyValue, createItemName, createItemResource, createResourceId, equals, getAllowedValues, getElementValidator, getName, getParent, getPath, getResourceId, getRoot, getSimpleName, getValidator, getValueHashCode, hasEqualValueAs, hashCode, init, isImmutable, isModified, isOptional, isSelected, markAsChanged, readFrom, removeProperty, setModified, setProperty, setSelected, setValidator, setValue, toDebugString, toString, valuesEqual, writeTo
Von Klasse geerbte Methoden de.esoco.lib.property.StringProperties
clearFlag, clearProperties, setFlag, setProperties, setProperty, setProperty
Von Klasse geerbte Methoden de.esoco.lib.property.AbstractStringProperties
convertCollection, convertMap, convertValue, ensurePropertyMapExists, findValue, getIntProperty, getProperty, getPropertyCount, getPropertyMap, getPropertyNames, hasEqualProperties, hasFlag, hasProperty, parseCollection, parseMap, parseValue, setPropertyMap
Von Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden de.esoco.lib.property.HasProperties
getIntProperty, getProperty, getPropertyCount, getPropertyNames, hasFlag, hasProperty
-
Konstruktordetails
-
StringDataElement
Creates a new modifiable instance without a validator.- Parameter:
name
- The name of this elementvalue
- The value of this element
-
StringDataElement
public StringDataElement(String name, String value, Validator<? super String> validator, Set<DataElement.Flag> flags) Creates a new instance with a constraint for the possible element values. The constraint is defined in form of a regular expression pattern against which new element values will be matched.- Parameter:
name
- The name of this elementvalue
- The value of this elementvalidator
- The validator for the value or NULL for noneflags
- The optional flags for this data element
-
StringDataElement
protected StringDataElement()Default constructor for serialization.
-
-
Methodendetails
-
getPhoneNumberParts
Splits a phone number string into it's distinct parts and returns a list containing the parts. The list will contain 4 elements: Country code, area code, phone number, and extension. Empty parts will be returned as empty strings but will never be NULL.- Parameter:
number
- The phone number string- Gibt zurück:
- A list containing the 4 number parts
-
copy
public StringDataElement copy(DataElement.CopyMode mode, de.esoco.lib.property.PropertyName<?>... copyProperties) Returns a copy of this data element that contains all or a subset of it's current state. Always copied are the name andflags
. Never copied is the parent reference because upon copying typically a reference to a copied parent needs to be set. The further data the copy contains depends on the copy mode:DataElement.CopyMode.FULL
: The copy contains all data (except the parent reference).DataElement.CopyMode.FLAT
: likeDataElement.CopyMode.FULL
but without sub-ordinate data elements.DataElement.CopyMode.PROPERTIES
: The copy contains only the properties but not the element value and attributes.DataElement.CopyMode.PLACEHOLDER
: The copy contains only the element name to serve as a placeholder.
The copy instance is created by invoking
DataElement.newInstance()
which has the recommendation to overwrite the return type to the concrete subtype to prevent the need for casting by the invoking code. For the same reason it is recommended that subclasses also override this method with the concrete return type and cast the result ofsuper.copy()
to that type.- Setzt außer Kraft:
copy
in KlasseDataElement<String>
- Parameter:
mode
- The copy modecopyProperties
- An optional list of properties to copy. If not provided all properties will be copied (unless the mode isDataElement.CopyMode.PLACEHOLDER
)- Gibt zurück:
- The copied instance
-
getValue
---------------------------------------------------------------- /** Returns the value of this element. Each subclass must implement this method separately because some environments (like GWT) require serializable objects to use specific types for serializable fields. Therefore it is not possible to store a generic Object value in the base class.- Angegeben von:
getValue
in KlasseDataElement<String>
- Gibt zurück:
- The element value
-
isValidValue
Overridden to allow any value if this instance has the user interface propertyLIST_STYLE
with a value ofEDITABLE
.- Setzt außer Kraft:
isValidValue
in KlasseDataElement<String>
- Parameter:
validator
- The validator to check the value with or NULL for nonevalue
- The value to check- Gibt zurück:
- TRUE if the value is valid for this data element
- Siehe auch:
-
setStringValue
Sets a string value. This method must be overridden by subclasses that want to support the setting of string values in parallel to their native datatype. The default implementation always throws a runtime exception.- Setzt außer Kraft:
setStringValue
in KlasseDataElement<String>
- Parameter:
value
- The new string value
-
newInstance
Returns a new instance of the respective data element sub-type on which it is invoked. This is needed for GWT which doesn't support reflection. Used byDataElement.copy(CopyMode, PropertyName...)
for cloning an instance. Implementations should overwrite the return type with their concrete type to prevent the need for casting by the invoking code.- Angegeben von:
newInstance
in KlasseDataElement<String>
- Gibt zurück:
- The new instance
-
updateValue
Updates the element value. Will be invoked byDataElement.setValue(Object)
to store a new value after validation. If a subclass wants to reject certain values it should do so in theDataElement.isValidValue(Validator, Object)
method. Subclasses that are always immutable should implement an assertion because if the element has been initialized correctly (validator = NULL) this method should then be reached.- Angegeben von:
updateValue
in KlasseDataElement<String>
- Parameter:
newValue
- The new value for this element
-