Package de.esoco.data.element
Klasse BigDecimalDataElement
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
A data element implementation for
BigDecimal
values.- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Modifizierer und TypKlasseBeschreibungstatic enum
Enumeration of the available display styles.Von Klasse geerbte verschachtelte Klassen/Schnittstellen de.esoco.data.element.DataElement
DataElement.CopyMode, DataElement.Flag
-
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final String
Input constraint for positive currency values.static final String
The placeholder string for the decimal grouping character.static final String
The placeholder string for the decimal separator character.static final String
Default input constraint for positive or negative decimal values with optional grouping characters.static final de.esoco.lib.property.PropertyName
<BigDecimalDataElement.DisplayStyle> A style property that defines the rendering of big decimal values.static final String
A variant ofCURRENCY_CONSTRAINT
that allows both positive and negative valuess.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.BigDecimalDataElement
(String name, BigDecimal value) Creates a new read-only instance with a certain name and value.BigDecimalDataElement
(String name, BigDecimal value, Validator<? super BigDecimal> validator, Set<DataElement.Flag> flags) Creates a new instance with a certain initial value and validator. -
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.final BigDecimal
getValue()
---------------------------------------------------------------- /** Returns the value of this element.protected BigDecimalDataElement
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 void
updateValue
(BigDecimal newValue) Updates the element value.protected boolean
valuesEqual
(BigDecimal a, BigDecimal b) Checks two values for equality.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, isValidValue, markAsChanged, readFrom, removeProperty, setModified, setProperty, setSelected, setValidator, setValue, toDebugString, toString, 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
-
Felddetails
-
DISPLAY_STYLE
public static final de.esoco.lib.property.PropertyName<BigDecimalDataElement.DisplayStyle> DISPLAY_STYLEA style property that defines the rendering of big decimal values. -
DECIMAL_GROUP_CHAR
The placeholder string for the decimal grouping character.- Siehe auch:
-
DECIMAL_SEPARATOR_CHAR
The placeholder string for the decimal separator character.- Siehe auch:
-
DEFAULT_CONSTRAINT
Default input constraint for positive or negative decimal values with optional grouping characters. Contains the input character placeholdersDECIMAL_GROUP_CHAR
andDECIMAL_SEPARATOR_CHAR
which must be replaced with the actual locale-specific pattern before using the string as a regular expression.- Siehe auch:
-
CURRENCY_CONSTRAINT
Input constraint for positive currency values. To also allow negative values useSIGNED_CURRENCY_CONSTRAINT
. See the remarks forDEFAULT_CONSTRAINT
.- Siehe auch:
-
SIGNED_CURRENCY_CONSTRAINT
A variant ofCURRENCY_CONSTRAINT
that allows both positive and negative valuess.- Siehe auch:
-
-
Konstruktordetails
-
BigDecimalDataElement
Creates a new read-only instance with a certain name and value.- Parameter:
name
- The name of this elementvalue
- The initial value
-
BigDecimalDataElement
public BigDecimalDataElement(String name, BigDecimal value, Validator<? super BigDecimal> validator, Set<DataElement.Flag> flags) Creates a new instance with a certain initial value and validator.- Parameter:
name
- The name of this elementvalue
- The initial valuevalidator
- The validator for the value or NULL for noneflags
- The optional flags for this data element
-
BigDecimalDataElement
protected BigDecimalDataElement()Default constructor for serialization.
-
-
Methodendetails
-
copy
public BigDecimalDataElement 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<BigDecimal>
- 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<BigDecimal>
- Gibt zurück:
- The element value
-
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<BigDecimal>
- 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<BigDecimal>
- 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<BigDecimal>
- Parameter:
newValue
- The new value for this element
-
valuesEqual
Checks two values for equality. The default implementation invokes the methodObject.equals(Object)
but subclasses can override this for more specific comparisons (e.g. by usingComparable
).- Setzt außer Kraft:
valuesEqual
in KlasseDataElement<BigDecimal>
- Parameter:
a
- The first value to compare (can be be NULL)b
- The second value to compare (can be be NULL)- Gibt zurück:
- TRUE if the values are equal
-