Interface UnionClass
- All Superinterfaces:
DataClass
,PropertyHandler
- All Known Implementing Classes:
UnionClassImpl
Union Class is a special class, used to improve and simplify the design of the data model. Its
goal is not the instantiation of corresponding data objects, but the usage of several data
objects with different data classes as possible attribute values. Such a union can be used in one
attribute or as base class in collections. For example, a
SetClass
that should contain elements of
AggregateObject
s as well as
IntegerObject
s. The base class that has to be
specified in the set would be the common parent class of both namely
DataClass
. But if this class would be used, also any
data object of any data class could be an element of the collection. This problem is solved with
a Union Class that combines the Aggregate Class and the Integer Class into a new class that can
be used as base class.
It is not possible to instantiate this class.
- Author:
- Rainer Maximini
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The name of the class.static final String
static final String
Fields inherited from interface de.uni_trier.wi2.procake.data.model.DataClass
LOG_ABSTRACT_CLASS_NOT_INSTANTIABLE, LOG_ABSTRACT_SYSTEM_SUBCLASS_CREATION_FAILED, LOG_CLASS_NOT_EDITABLE, LOG_CLASS_NOT_INSTANTIABLE, LOG_EDITABLE_CLASS_NOT_INSTANTIABLE, LOG_FINISH_EDIT_FAILED, LOG_GET_SUPERCLASSES_FAILED, LOG_SUBCLASS_CREATION_FAILED
-
Method Summary
Methods inherited from interface de.uni_trier.wi2.procake.data.model.DataClass
addSubclass, checkInstantiability, createSubclass, finishEditing, getModel, getName, getObjectClass, getSubClasses, getSuperClass, getSuperClasses, getSystemClassName, getSystemSuperClass, includeClass, isAbstract, isAggregate, isAtomic, isBoolean, isByteArray, isCake2DataReference, isChronologic, isCollection, isControlflowItem, isDataflowWrapper, isDate, isDouble, isEditable, isInstantiable, isInteger, isInterval, isList, isNESTConstraintEdge, isNESTControlflowEdge, isNESTControlflowNode, isNESTDataflowEdge, isNESTDataNode, isNESTEdge, isNESTGraph, isNESTGraphItem, isNESTNode, isNESTPartOfEdge, isNESTSequenceNode, isNESTSequentialWorkflow, isNESTSubWorkflowNode, isNESTTaskNode, isNESTWorkflow, isNESTWorkflowNode, isNode, isNumeric, isParentItem, isSequence, isSet, isString, isSubclassOf, isSubWorkflow, isSystemClass, isTask, isTime, isTimestamp, isUnion, isURI, isVoid, isWorkflow, isWorkflowItem, newObject, removeSubclass, setAbstract, setName
Methods inherited from interface de.uni_trier.wi2.procake.data.PropertyHandler
addProperty, addProperty, getAllProperties, getAllPropertyNodes, getProperty, getPropertyNames, getPropertyNode, getPropertyRootNode, hasProperties, removeProperty, setPropertyRootNode
-
Field Details
-
CLASS_NAME
The name of the class. This name should be used inModel.getClass(String)
to receive the system class. The value is * "Union" .- See Also:
-
LOG_EQUAL_ELEMENTCLASS
- See Also:
-
LOG_MISSING_ELEMENTCLASS
- See Also:
-
-
Method Details
-
add
Adds an additionalDataClass
to the list of data classes- Parameters:
dataClass
- The new data class. If the data class is already in the list the new one will be ignored.- Throws:
IllegalEditException
-
getClasses
DataClass[] getClasses()getClasses.
- Returns:
- an array of all
DataClass
es. - See Also:
-
hasClass
Checks if the givenDataClass
dataClass
is a member of the union.- Parameters:
dataClass
- TheDataClass
that should be checked.- Returns:
true
if thedataClass
is a member of the union.
-
remove
Removes aDataClass
from the list of data classes. If the data class is not in the list of data classes nothing will happen.- Parameters:
dataClass
- The data class that should be removed.- Throws:
IllegalEditException
-