public class StringArrayProp extends GProp<List<String>>
setChanged
.GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Modifier | Constructor and Description |
---|---|
protected |
StringArrayProp()
Creates an string array with no name and an empty synchronized ArrayList<String> array.
|
|
StringArrayProp(Atom propertyAtom)
Creates an string array property with the specified name with
an empty synchronized ArrayList<String> array.
|
|
StringArrayProp(Atom propertyAtom,
List<String> newValue)
Creates an string array property with the specified name with
an empty synchronized ArrayList<String> array initialized with the specified
strings.
|
Modifier and Type | Method and Description |
---|---|
void |
addString(String s)
Adds a string to the array.
|
void |
addString(String s,
int index)
Adds (inserts) a string at the requested index in the array.
|
void |
addStrings(List<String> newStringList)
Adds all strings from a list.
|
void |
addStrings(String[] strings)
Adds all strings from a string array.
|
protected void |
appendPropValue(PropMgr propertyManager,
Transaction trans,
Object value)
Appends the string array to an outgoing transaction.
|
boolean |
clear()
Removes all strings from the array.
|
StringArrayProp |
clone()
Creates a clone out of this property.
|
static StringArrayProp |
createUnmodifiableReadOnly(Atom atom,
String[] strings)
Creates a new StringArrayProp from a predefined array of strings that is placed in
an unmodifiable list.
|
List<String> |
getArrayList()
Gets the synchronized ArrayList<String> of all strings.
|
protected Object |
getPropValue0(Object value,
int index)
Gets the property value in another class form than the "native" one.
|
String |
getString(int index)
Gets a string from a specific index in the array.
|
Class<?>[] |
getValueClasses()
Gets the list of possible native Java classes that can be used to set a value using
setPropertyValue , in order of importance. |
void |
initializeElement(Element element)
Called when the XML file for the property tree is serialized from properties.
|
void |
initializeProp(Element element)
Called to initialize the property from an
Element . |
boolean |
initializeValue(PropMgr propertyManager,
Transaction trans)
Initializes the property value from a transaction.
|
protected int |
modifyPropValue(Object oldValue,
Object newValue,
PropMgr propMgr)
Called when setting a new value for this property.
|
String |
removeString(int index)
Removes a string in the at a specific index.
|
boolean |
removeString(String s)
Removes the request string from the array.
|
String |
setString(String s,
int index)
Sets a string at a specific index in the array.
|
int |
size()
Gets the string count in the array.
|
void |
sortList()
Sorts the list according to the default JVM locale.
|
void |
sortList(boolean isCaseInsensitive)
Sorts the list according to the default JVM locale.
|
void |
sortList(Locale locale)
Sorts the list according to a locale.
|
void |
sortList(Locale locale,
boolean isCaseInsensitive)
Sorts the list according to a locale.
|
protected Object |
toNativeValue0(Object value,
int index)
Tries conversion of possibly accepted properties values using the
setPropertyValue method
into the most preferred property value type. |
void |
validatePropType(Object newValue)
Validates that the value to set is of
List<?> instance. |
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalsTree, equalValues, extendsClone, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getParent, getParent, getProjectName, getPropAtom, getPropBaseReference, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferences, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, getVSReference, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCommunicating, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, onPrepare, onPropDispose, onPropInvalidateCache, onPropParentChanged, onPropTreeInitialized, onPropValueSet, onReferenceEvent, onRemoteEvent, onVirtualizationCompleted, onVirtualized, paramString, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, resolveRuntimeReferences, setChanged, setConstraints, setConstraints, setCreateRequiredProp, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toElementString, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, validatePropValue, verify, verifyHasPropertyItem, virtualize, warning, warning, warning
protected StringArrayProp()
public StringArrayProp(Atom propertyAtom)
propertyAtom
- the property atom.public StringArrayProp(Atom propertyAtom, List<String> newValue) throws PropTypeException
propertyAtom
- the property atom.newValue
- the new string array value for the property.PropTypeException
- If the property is read-only.public static StringArrayProp createUnmodifiableReadOnly(Atom atom, String[] strings)
atom
- The name of the property.strings
- The strings.public Class<?>[] getValueClasses()
setPropertyValue
, in order of importance. Note that loss of precision
in data if e.g. an Float property accepts a Double. However, the setPropertyValue
throws IllegalArgumentException
if the range in invalid, e.g. conversion
of a Integer to a Byte, and the value is not -127 to 128.getValueClasses
in interface IGProp<List<String>>
getValueClasses
in class GProp<List<String>>
setPropertyValue
method.
The first type is the "native" or most preferred type. The array is at least one item in length
and never null.public StringArrayProp clone()
Cloning is used for "virtualization" of a property tree in the
server. Client property classes will therefore throw
CloneNotSupportedException
.
Once a tree has been cloned, the change-flag is reset, and the create-flag is set. All listeners are also removed! The new cloned property is an orphan, i.e. has no parent set.
Note that the cloning process is done WITHOUT thread synchronization for performance reasons, thus no modifications should be done to the tree!
The StringArrayProperty clones the ArrayList used for the items unless it is a read-only unmodifiable list in which case it is copied.
public void validatePropType(Object newValue) throws PropTypeException
List<?>
instance. Later, when setting
the property, the method modifyPropertyValue
will be called, and this
one will require the type List<String>
in order not to throw
PropertyException
.validatePropType
in interface IGProp<List<String>>
validatePropType
in class GProp<List<String>>
newValue
- The new value to set.PropTypeException
- if newValue
is not of List<?>
instance.protected int modifyPropValue(Object oldValue, Object newValue, PropMgr propMgr) throws PropException
modifyPropValue
in class GProp<List<String>>
oldValue
- The old value.newValue
- The new value.propMgr
- The property manager for remote change, null for local.PropException
- when the new value doesn't validate correctly.protected void appendPropValue(PropMgr propertyManager, Transaction trans, Object value)
appendPropValue
in class GProp<List<String>>
propertyManager
- the property manager instance.trans
- transaction to append the properties to.value
- the value to append to the transaction, a reference to the current property value.public boolean initializeValue(PropMgr propertyManager, Transaction trans)
initializeValue
in class GProp<List<String>>
propertyManager
- the property manager.trans
- the transaction to initialize the property with.public void initializeProp(Element element) throws PropException
Element
.
The property should initialize itself from attributes and nodes
with appropriate information.initializeProp
in class GProp<List<String>>
element
- The Element
.PropException
- when the initialization fails.public void sortList() throws PropTypeException
PropTypeException
- If the property is read-only.public void sortList(boolean isCaseInsensitive) throws PropTypeException
isCaseInsensitive
- Flag for case insensitive.PropTypeException
- If the property is read-only.public void sortList(Locale locale) throws PropTypeException
locale
- The locale to use for string sorting.PropTypeException
- If the property is read-only.public void sortList(Locale locale, boolean isCaseInsensitive) throws PropTypeException
locale
- The locale to use for string sorting, null for default..isCaseInsensitive
- Flag for case insensitive.PropTypeException
- If the property is read-only.public void initializeElement(Element element)
The attribute "sort" may be set to "client", "server" or not present, i.e. no sorting. The setting "server" indicates that the Server provides the sorting rule to use, settable for each client session programmatically.
After the element, elements "string" builds up all text entries containing the strings.
initializeElement
in class GProp<List<String>>
element
- The Element
.public void addString(String s) throws PropTypeException
s
- the string to add.PropTypeException
- If the property is read-only.public void addString(String s, int index) throws PropTypeException
s
- the string to add.index
- the index of the string to insert in the array.PropTypeException
- If the property is read-only.public void addStrings(List<String> newStringList) throws PropTypeException
newStringList
- the list of new strings to add.PropTypeException
- If the property is read-only.public void addStrings(String[] strings) throws PropTypeException
strings
- the array of new strings to add.PropTypeException
- If the property is read-only.public int size()
public boolean clear() throws PropTypeException
PropTypeException
- If the property is read-only.public boolean removeString(String s) throws PropTypeException
s
- the string to remove.PropTypeException
- If the property is read-only.public String removeString(int index) throws PropTypeException
index
- the index in the array to remove.PropTypeException
- If the property is read-only.public String getString(int index)
index
- the index of the string.public String setString(String s, int index) throws PropTypeException
s
- the string.index
- the index of the string to set.PropTypeException
- If the property is read-only.public List<String> getArrayList()
setChanged
method. Accessing the list
directly is enabled for performance reasons only.List<String>
if the property is not read-only,
otherwise an unmodifiable synchronized List<String>
.protected Object getPropValue0(Object value, int index) throws Exception
getPropValue0
in class GProp<List<String>>
value
- The property value.index
- The index in the Class array returned by getValueClasses()
.Exception
- Other exceptions that could occur.protected Object toNativeValue0(Object value, int index) throws Exception
setPropertyValue
method
into the most preferred property value type. If the input value already is of the preferred type, the
same object is returned.toNativeValue0
in class GProp<List<String>>
value
- The input value to convert to native value.index
- The index in the array returned by getValueClasses()
, or -1 if not found.Exception
- For conversion exceptions.iizi® is a registered trademark of Mindus SARL. © Copyright 2019 Mindus SARL. All rights reserved.