Package de.uni_trier.wi2.procake.data
Interface PropertyHandler
- All Known Subinterfaces:
AbstractWorkflowItemClass
,AbstractWorkflowItemObject
,AggregateClass
,AggregateObject
,AtomicClass
,AtomicObject
,BooleanClass
,BooleanObject
,ByteArrayClass
,ByteArrayObject
,ChronologicClass
,ChronologicObject
,CollectionClass
,CollectionObject
,ControlflowItemClass
,ControlflowItemObject
,DataClass
,DataflowWrapperClass
,DataflowWrapperObject
,DataObject
,DataReferenceClass
,DataReferenceObject
,DateClass
,DateObject
,DoubleClass
,DoubleObject
,IntegerClass
,IntegerObject
,IntervalClass
,IntervalObject
,ListClass
,ListObject
,NESTAbstractWorkflowObject
,NESTAndEndNodeClass
,NESTAndEndNodeObject
,NESTAndStartNodeClass
,NESTAndStartNodeObject
,NESTConstraintEdgeClass
,NESTConstraintEdgeObject
,NESTControlflowEdgeClass
,NESTControlflowEdgeObject
,NESTControlflowNodeClass
,NESTControlflowNodeObject
,NESTDataflowEdgeClass
,NESTDataflowEdgeObject
,NESTDataNodeClass
,NESTDataNodeObject
,NESTEdgeClass
,NESTEdgeObject
,NESTGraphClass
,NESTGraphItemClass
,NESTGraphItemObject
,NESTGraphObject
,NESTLoopEndNodeClass
,NESTLoopEndNodeObject
,NESTLoopStartNodeClass
,NESTLoopStartNodeObject
,NESTNodeClass
,NESTNodeObject
,NESTOrEndNodeClass
,NESTOrEndNodeObject
,NESTOrStartNodeClass
,NESTOrStartNodeObject
,NESTPartOfEdgeClass
,NESTPartOfEdgeObject
,NESTSequenceNodeClass
,NESTSequenceNodeObject
,NESTSequentialWorkflowClass
,NESTSequentialWorkflowObject
,NESTSubWorkflowNodeClass
,NESTSubWorkflowNodeObject
,NESTTaskNodeClass
,NESTTaskNodeObject
,NESTWorkflowClass
,NESTWorkflowNodeClass
,NESTWorkflowNodeObject
,NESTWorkflowObject
,NESTXorEndNodeClass
,NESTXorEndNodeObject
,NESTXorStartNodeClass
,NESTXorStartNodeObject
,NodeClass
,NodeObject
,NumericClass
,NumericObject
,ParentItemClass
,ParentItemObject<T>
,SequenceClass
,SequencedObject
,SequenceObject
,SetClass
,SetObject
,StatusableClass
,StatusableObject
,StringClass
,StringObject
,SubWorkflowClass
,SubWorkflowObject
,TaskClass
,TaskObject
,TimeClass
,TimeObject
,TimestampClass
,TimestampObject
,UnionClass
,URIClass
,URIObject
,VoidClass
,VoidObject
,WorkflowClass
,WorkflowObject
- All Known Implementing Classes:
AbstractDataClassImpl
,AbstractWorkflowItemClassImpl
,AbstractWorkflowItemObjectImpl
,AggregateClassImpl
,AggregateObjectImpl
,AtomicClassImpl
,AtomicObjectImpl
,BooleanClassImpl
,BooleanObjectImpl
,ByteArrayClassImpl
,ByteArrayObjectImpl
,ChronologicClassImpl
,ChronologicObjectImpl
,CollectionClassImpl
,CollectionObjectImpl
,ControlflowItemClassImpl
,ControlflowItemObjectImpl
,DataClassImpl
,DataflowWrapperClassImpl
,DataflowWrapperObjectImpl
,DataObjectImpl
,DataReferenceClassImpl
,DataReferenceObjectImpl
,DateClassImpl
,DateObjectImpl
,DoubleClassImpl
,DoubleObjectImpl
,IntegerClassImpl
,IntegerObjectImpl
,IntervalClassImpl
,IntervalObjectImpl
,ListClassImpl
,ListObjectImpl
,NESTAbstractWorkflowObjectImpl
,NESTAndEndNodeClassImpl
,NESTAndEndNodeObjectImpl
,NESTAndStartNodeClassImpl
,NESTAndStartNodeObjectImpl
,NESTConstraintEdgeClassImpl
,NESTConstraintEdgeObjectImpl
,NESTControlflowEdgeClassImpl
,NESTControlflowEdgeObjectImpl
,NESTControlflowNodeClassImpl
,NESTControlflowNodeObjectImpl
,NESTDataflowEdgeClassImpl
,NESTDataflowEdgeObjectImpl
,NESTDataNodeClassImpl
,NESTDataNodeObjectImpl
,NESTEdgeClassImpl
,NESTEdgeObjectImpl
,NESTGraphClassImpl
,NESTGraphItemClassImpl
,NESTGraphItemObjectImpl
,NESTGraphObjectImpl
,NESTLoopEndNodeClassImpl
,NESTLoopEndNodeObjectImpl
,NESTLoopStartNodeClassImpl
,NESTLoopStartNodeObjectImpl
,NESTNodeClassImpl
,NESTNodeObjectImpl
,NESTOrEndNodeClassImpl
,NESTOrEndNodeObjectImpl
,NESTOrStartNodeClassImpl
,NESTOrStartNodeObjectImpl
,NESTPartOfEdgeClassImpl
,NESTPartOfEdgeObjectImpl
,NESTSequenceNodeClassImpl
,NESTSequenceNodeObjectImpl
,NESTSequentialWorkflowClassImpl
,NESTSequentialWorkflowObjectImpl
,NESTSubWorkflowNodeClassImpl
,NESTSubWorkflowNodeObjectImpl
,NESTTaskNodeClassImpl
,NESTTaskNodeObjectImpl
,NESTWorkflowClassImpl
,NESTWorkflowNodeClassImpl
,NESTWorkflowNodeObjectImpl
,NESTWorkflowObjectImpl
,NESTXorEndNodeClassImpl
,NESTXorEndNodeObjectImpl
,NESTXorStartNodeClassImpl
,NESTXorStartNodeObjectImpl
,NodeClassImpl
,NodeObjectImpl
,NumericClassImpl
,NumericObjectImpl
,ParentItemClassImpl
,ParentItemObjectImpl
,SequenceClassImpl
,SequenceObjectImpl
,SetClassImpl
,SetObjectImpl
,StatusableClassImpl
,StatusableObjectImpl
,StringClassImpl
,StringObjectImpl
,SubWorkflowClassImpl
,TaskClassImpl
,TaskObjectImpl
,TimeClassImpl
,TimeObjectImpl
,TimeStampClassImpl
,TimestampObjectImpl
,UnionClassImpl
,URIClassImpl
,URIObjectImpl
,VoidClassImpl
,VoidObjectImpl
,WorkflowClassImpl
,WorkflowObjectImpl
public interface PropertyHandler
Properties
Several components in CAKE using properties to add additional information to an object. To
unify the methods for these components to access the properties the PropertyHandler
defines four typical methods.
- Author:
- Rainer Maximini, Maximilian Hoffmann
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addProperty
(PropertyTreeNode node) Add a property to the property tree.void
addProperty
(String name, String value) Add a property to the property tree.getAllProperties
(String key) Searches for all property values within the property tree.Searches for all property nodes within the property tree.getProperty
(String propertyName) Gets the value of the node that has the given name and is found first.String[]
To receive all properties that are set byaddProperty(String, String)
use this method.getPropertyNode
(String key) Search for a property node within the whole tree of properties.Returns the propertyRootNode of the implementing object.boolean
Tests, if the implementing object has properties.removeProperty
(String name) Remove any node from the property tree.void
Set the propertyRootNode of the implementing object.
-
Method Details
-
hasProperties
boolean hasProperties()Tests, if the implementing object has properties. This can be tested by looking for a generic root node.- Returns:
- true, if a property is set, false otherwise.
-
getPropertyRootNode
PropertyTreeNode getPropertyRootNode()Returns the propertyRootNode of the implementing object.- Returns:
- the propertyRootNode if set. Null otherwise.
-
setPropertyRootNode
Set the propertyRootNode of the implementing object.- Parameters:
node
- to be used as property root node
-
getPropertyNode
Search for a property node within the whole tree of properties. The first node with a given name will be returned. The generic root node cannot be returned. The used search algorithm to iterate the property tree is BFS.- Parameters:
key
- the name of the property to search for- Returns:
- the found property node, or null, if there are no properties or no node has this key
-
getAllPropertyNodes
Searches for all property nodes within the property tree. The result will never be null (but could be an empty set).- Parameters:
key
- the key of the property- Returns:
- a set with the found property nodes
-
getAllProperties
Searches for all property values within the property tree. The result will never be null (but could be an empty set).- Parameters:
key
- the key of the property- Returns:
- a set with the found property nodes
-
addProperty
Add a property to the property tree. This property node (or subtree) will be added right below the generic root.- Parameters:
node
- the node to be added
-
addProperty
Add a property to the property tree. This property node (or subtree) will be added right below the generic root.- Parameters:
name
- the name of the node to addvalue
- the value of the node to add- See Also:
-
removeProperty
Remove any node from the property tree. The first node to be found with this name, will be removed (including all children).- Parameters:
name
- the name of the node to be removed- Returns:
- the value of the removed node, or null, if no node could be removed
-
getProperty
Gets the value of the node that has the given name and is found first. If the property does not exists, null will be returned.- Parameters:
propertyName
- The name of the property.- Returns:
- The property value or null if the property does not exists.
- See Also:
-
getPropertyNames
String[] getPropertyNames()To receive all properties that are set byaddProperty(String, String)
use this method. Every name contained in the complete tree will be considered. The result will never be null.- Returns:
- An array of defined property names.
-