Class ListObjectImpl
java.lang.Object
de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
de.uni_trier.wi2.procake.data.object.base.impl.CollectionObjectImpl
de.uni_trier.wi2.procake.data.object.base.impl.ListObjectImpl
- All Implemented Interfaces:
CollectionObject
,ListObject
,DataObject
,PropertyHandler
- Author:
- Rainer Maximini
-
Field Summary
Fields inherited from class de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
objectId
Fields inherited from interface de.uni_trier.wi2.procake.data.object.base.CollectionObject
LOG_WRONG_ELEMENT_TYPE
Fields inherited from interface de.uni_trier.wi2.procake.data.object.base.ListObject
LOG_INDEX_OUT_OF_BOUNDS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
assertSameValueAsIn
(DataObject object) copy()
Makes a deep copy of the data objectelementAt
(int index) Returns a list of DataObjects contained in this ListObject.boolean
hasSameValueAsIn
(DataObject object) This method makes a deep compare.int
indexOf
(DataObject object) Searches for the first occurence of the given data object, testing for equality using theequals
method.int
indexOf
(DataObject object, int index) Searches for the first occurence of the given object, beginning the search atindex
, and testing for equality using theequals
method.void
insertAt
(DataObject value, int index) Inserts the specified data object in this list at the specifiedindex
.void
removeAt
(int index) Deletes the object at the specified index.void
setValues
(List<DataObject> values) Sets the DataObjects of this ListObject.Methods inherited from class de.uni_trier.wi2.procake.data.object.base.impl.CollectionObjectImpl
addAll, addValue, contains, getCollectionClass, getValue, iterator, removeValue, size, toDetailedString, toString
Methods inherited from class de.uni_trier.wi2.procake.data.object.impl.DataObjectImpl
addProperty, addProperty, deepCopy, getAllProperties, getAllPropertyNodes, getDataClass, getId, getModel, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasClassName, hasProperties, hasSystemClassName, isAggregate, isAtomic, isBoolean, isByteArray, isChronologic, isCollection, isDataflowWrapper, isDataReference, isDate, isDouble, isInteger, isInterval, isKindOf, isList, isMemberOf, isNESTConstraintEdge, isNESTControlflowEdge, isNESTControlflowNode, isNESTDataflowEdge, isNESTDataNode, isNESTEdge, isNESTGraph, isNESTNode, isNESTPartOfEdge, isNESTSequenceNode, isNESTSequentialWorkflow, isNESTSubWorkflowNode, isNESTTaskNode, isNESTWorkflow, isNESTWorkflowNode, isNode, isNumeric, isSequence, isSet, isString, isSubWorkflow, isTask, isTime, isTimestamp, isUnion, isURI, isVoid, isWorkflow, removeId, removeProperty, setDataClass, setId, setPropertyRootNode, toXML
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.uni_trier.wi2.procake.data.object.base.CollectionObject
addAll, addValue, contains, getCollectionClass, getValue, iterator, removeValue, size
Methods inherited from interface de.uni_trier.wi2.procake.data.object.DataObject
getDataClass, getId, getModel, hasClassName, hasSystemClassName, isAggregate, isAtomic, isBoolean, isByteArray, isChronologic, isCollection, isDataflowWrapper, isDataReference, isDate, isDouble, isInteger, isInterval, isKindOf, isList, isMemberOf, isNESTConstraintEdge, isNESTControlflowEdge, isNESTControlflowNode, isNESTDataflowEdge, isNESTDataNode, isNESTEdge, isNESTGraph, isNESTNode, isNESTPartOfEdge, isNESTSequenceNode, isNESTSequentialWorkflow, isNESTSubWorkflowNode, isNESTTaskNode, isNESTWorkflow, isNESTWorkflowNode, isNode, isNumeric, isSequence, isSet, isString, isSubWorkflow, isTask, isTime, isTimestamp, isUnion, isURI, isVoid, isWorkflow, removeId, setDataClass, setId, toDetailedString, toXML
Methods inherited from interface de.uni_trier.wi2.procake.data.PropertyHandler
addProperty, addProperty, getAllProperties, getAllPropertyNodes, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasProperties, removeProperty, setPropertyRootNode
-
Constructor Details
-
ListObjectImpl
-
-
Method Details
-
elementAt
- Specified by:
elementAt
in interfaceListObject
- Throws:
ProCAKEIndexOutOfBoundsException
-
getValues
Description copied from interface:ListObject
Returns a list of DataObjects contained in this ListObject.- Specified by:
getValues
in interfaceListObject
- Returns:
- A list of DataObjects contained in this ListObject
-
setValues
Description copied from interface:ListObject
Sets the DataObjects of this ListObject. If a type of an element is incompatible with the elementClass aProCAKEInvalidTypeException
is thrown.- Specified by:
setValues
in interfaceListObject
-
getCollection
- Specified by:
getCollection
in interfaceCollectionObject
-
getListClass
- Specified by:
getListClass
in interfaceListObject
-
hasSameValueAsIn
Description copied from interface:DataObject
This method makes a deep compare. For atomic objects this is equal to theequal
method. For sets, lists, aggregates, and others a deeper comparision is performed.- Specified by:
hasSameValueAsIn
in interfaceDataObject
- Overrides:
hasSameValueAsIn
in classDataObjectImpl
- Parameters:
object
- The object to compare.- Returns:
true
if the givenobject
has the same value(s) as this one.
-
assertSameValueAsIn
- Specified by:
assertSameValueAsIn
in interfaceDataObject
- Overrides:
assertSameValueAsIn
in classDataObjectImpl
- Throws:
AssertSameValueAsInException
-
indexOf
Description copied from interface:ListObject
Searches for the first occurence of the given data object, testing for equality using theequals
method.- Specified by:
indexOf
in interfaceListObject
- Parameters:
object
- the data object that should be searched- Returns:
- the index of the first occurrence of the argument in this list; returns
-1
if the object is not found. - See Also:
-
indexOf
Description copied from interface:ListObject
Searches for the first occurence of the given object, beginning the search atindex
, and testing for equality using theequals
method.- Specified by:
indexOf
in interfaceListObject
- Parameters:
object
- the data object that should be searchedindex
- the non-negative index to start searching from.- Returns:
- the index of the first occurrence of the object argument in this list at position
index
or later in the vector; returns-1
if the object is not found. (Returns-1
ifindex
>= the current size of this list.) - Throws:
ProCAKEIndexOutOfBoundsException
- See Also:
-
insertAt
public void insertAt(DataObject value, int index) throws IndexOutOfBoundsException, ProCAKEInvalidTypeException Description copied from interface:ListObject
Inserts the specified data object in this list at the specifiedindex
. Each object in this list with an index greater or equal to the specifiedindex
is shifted upward to have an index one greater than the value it had previously.The index must be a value greater than or equal to
0
and less than or equal to the current size of the list. (If the index is equal to the current size of the list, the new object is appended to the list.)- Specified by:
insertAt
in interfaceListObject
- Parameters:
value
- the data object to insert.index
- where to insert the new object.- Throws:
ProCAKEInvalidTypeException
- if the value type is incompatible to the element type.IndexOutOfBoundsException
-
removeAt
Description copied from interface:ListObject
Deletes the object at the specified index. Each object in this list with an index greater or equal to the specifiedindex
is shifted downward to have an index one smaller than the value it had previously. The size of this list is decreased by1
.The index must be a value greater than or equal to
0
and less than the current size of the list.- Specified by:
removeAt
in interfaceListObject
- Parameters:
index
- the index of the object to remove.- Throws:
ProCAKEIndexOutOfBoundsException
-
copy
Description copied from interface:DataObject
Makes a deep copy of the data object- Specified by:
copy
in interfaceDataObject
- Overrides:
copy
in classDataObjectImpl
- Returns:
- deep copy of the data object
-