Interface DataObject

All Superinterfaces:
PropertyHandler
All Known Subinterfaces:
AbstractWorkflowItemObject, AggregateObject, AtomicObject, BooleanObject, ByteArrayObject, ChronologicObject, CollectionObject, ControlflowItemObject, DataflowWrapperObject, DataReferenceObject, DateObject, DoubleObject, IntegerObject, IntervalObject, ListObject, NESTAbstractWorkflowObject, NESTAndEndNodeObject, NESTAndStartNodeObject, NESTConstraintEdgeObject, NESTControlflowEdgeObject, NESTControlflowNodeObject, NESTDataflowEdgeObject, NESTDataNodeObject, NESTEdgeObject, NESTGraphItemObject, NESTGraphObject, NESTLoopEndNodeObject, NESTLoopStartNodeObject, NESTNodeObject, NESTOrEndNodeObject, NESTOrStartNodeObject, NESTPartOfEdgeObject, NESTSequenceNodeObject, NESTSequentialWorkflowObject, NESTSubWorkflowNodeObject, NESTTaskNodeObject, NESTWorkflowNodeObject, NESTWorkflowObject, NESTXorEndNodeObject, NESTXorStartNodeObject, NodeObject, NumericObject, ParentItemObject<T>, SequencedObject, SequenceObject, SetObject, StatusableObject, StringObject, SubWorkflowObject, TaskObject, TimeObject, TimestampObject, URIObject, VoidObject, WorkflowObject
All Known Implementing Classes:
AbstractWorkflowItemObjectImpl, AggregateObjectImpl, AtomicObjectImpl, BooleanObjectImpl, ByteArrayObjectImpl, ChronologicObjectImpl, CollectionObjectImpl, ControlflowItemObjectImpl, DataflowWrapperObjectImpl, DataObjectImpl, DataReferenceObjectImpl, DateObjectImpl, DoubleObjectImpl, IntegerObjectImpl, IntervalObjectImpl, ListObjectImpl, NESTAbstractWorkflowObjectImpl, NESTAndEndNodeObjectImpl, NESTAndStartNodeObjectImpl, NESTConstraintEdgeObjectImpl, NESTControlflowEdgeObjectImpl, NESTControlflowNodeObjectImpl, NESTDataflowEdgeObjectImpl, NESTDataNodeObjectImpl, NESTEdgeObjectImpl, NESTGraphItemObjectImpl, NESTGraphObjectImpl, NESTLoopEndNodeObjectImpl, NESTLoopStartNodeObjectImpl, NESTNodeObjectImpl, NESTOrEndNodeObjectImpl, NESTOrStartNodeObjectImpl, NESTPartOfEdgeObjectImpl, NESTSequenceNodeObjectImpl, NESTSequentialWorkflowObjectImpl, NESTSubWorkflowNodeObjectImpl, NESTTaskNodeObjectImpl, NESTWorkflowNodeObjectImpl, NESTWorkflowObjectImpl, NESTXorEndNodeObjectImpl, NESTXorStartNodeObjectImpl, NodeObjectImpl, NumericObjectImpl, ParentItemObjectImpl, SequenceObjectImpl, SetObjectImpl, StatusableObjectImpl, StringObjectImpl, TaskObjectImpl, TimeObjectImpl, TimestampObjectImpl, URIObjectImpl, VoidObjectImpl, WorkflowObjectImpl

public interface DataObject extends PropertyHandler
A DataObject realises a wrapper for a value.

A detailed description can be found in the DataClass.

This is an abstract interface for that no corresponding implementation exists. This interface just summarises some methods that are equal for all data objects.

Compare

To compare two data object the method hasSameValueAsIn(DataObject) exists. This method makes a deep compare. For atomic objects this is equal to the equals(Object) method. For sets, lists, aggregates, and others a deeper comparision is performed that also includes the element objects.

Clone

copy() makes a deep copy of the object including the properties and objectids also.

Author:
Rainer Maximini
See Also:
  • Method Details

    • getDataClass

      DataClass getDataClass()
      Returns:
      The data class of the object.
    • setDataClass

      void setDataClass(DataClass dataClass)
    • getId

      String getId()
      Returns:
      objectId of the given base *
      See Also:
    • setId

      void setId(String objectId)
      Adds the given objectId to the set of ids.
      Parameters:
      objectId - that will be added to the set of ids
      See Also:
    • getModel

      Model getModel()
      Each object knows to which model it belongs.
      Returns:
      The data model to that the object belongs.
    • hasSameValueAsIn

      boolean hasSameValueAsIn(DataObject object)
      This method makes a deep compare. For atomic objects this is equal to the equal method. For sets, lists, aggregates, and others a deeper comparision is performed.
      Parameters:
      object - The object to compare.
      Returns:
      true if the given object has the same value(s) as this one.
    • assertSameValueAsIn

      void assertSameValueAsIn(DataObject object) throws AssertSameValueAsInException
      Throws:
      AssertSameValueAsInException
    • isAggregate

      boolean isAggregate()
      Returns:
      true if the data class can be casted to AggregateClass
      Since:
      0.6
    • isAtomic

      boolean isAtomic()
      Returns:
      true if the data class can be casted to AtomicClass
      Since:
      0.6
    • isBoolean

      boolean isBoolean()
      Returns:
      true if the data class can be casted to BooleanClass
      Since:
      0.6
    • isByteArray

      boolean isByteArray()
      Returns:
      true if the data class can be casted to ByteArrayClass
      Since:
      0.6
    • isChronologic

      boolean isChronologic()
      Returns:
      true if the data class can be casted to ChronologicClass
      Since:
      0.6
    • isCollection

      boolean isCollection()
      Returns:
      true if the data class can be casted to CollectionClass
      Since:
      0.6
    • isDate

      boolean isDate()
      Returns:
      true if the data class can be casted to DateClass
      Since:
      0.6
    • isDouble

      boolean isDouble()
      Returns:
      true if the data class can be casted to DoubleClass
      Since:
      0.6
    • isInteger

      boolean isInteger()
      Returns:
      true if the data class can be casted to IntegerClass
      Since:
      0.6
    • isInterval

      boolean isInterval()
      Returns:
      true if the data class can be casted to IntervalClass
      Since:
      0.6
    • isKindOf

      boolean isKindOf(DataClass anotherClass)
      Check if the object is an instance of the given DataClass or of some of its sub-classes.
      Parameters:
      anotherClass -
      Returns:
      true if the data class of this object is a subclass of the given class.
    • hasSystemClassName

      boolean hasSystemClassName(String systemClassName)
      Check if the object's data class has the given system class name.
      Parameters:
      systemClassName - system class name
      Returns:
      true if the data class of this object has the given system class name.
    • hasClassName

      boolean hasClassName(String className)
      Check if the object's data class has the given class name.
      Parameters:
      className - class name
      Returns:
      true if the data class of this object has the given class name.
    • isList

      boolean isList()
      Returns:
      true if the data class can be casted to ListClass
      Since:
      0.6
    • isMemberOf

      boolean isMemberOf(DataClass anotherClass)
      Check if this object can be referenced from the given DataClass
      Parameters:
      anotherClass -
      Returns:
      true if the data class of this objects is used in the given class.
    • isNumeric

      boolean isNumeric()
      Returns:
      true if the data class can be casted to NumericClass
      Since:
      0.6
    • isURI

      boolean isURI()
      Returns:
      true if the data class can be casted to URIClass
    • isSet

      boolean isSet()
      Returns:
      true if the data class can be casted to SetClass
      Since:
      0.6
    • isString

      boolean isString()
      Returns:
      true if the data class can be casted to StringClass
      Since:
      0.6
    • isTime

      boolean isTime()
      Returns:
      true if the data class can be casted to TimeClass
      Since:
      0.6
    • isTimestamp

      boolean isTimestamp()
      Returns:
      true if the data class can be casted to TimestampClass
      Since:
      0.6
    • isUnion

      boolean isUnion()
      Returns:
      true if the data class can be casted to UnionClass
      Since:
      0.6
    • isVoid

      boolean isVoid()
      Returns:
      true if the data class can be casted to VoidClass
      Since:
      0.6
    • isTask

      boolean isTask()
      Returns:
      true if the data class can be casted to TaskClass
      Since:
      0.6
    • isWorkflow

      boolean isWorkflow()
      Returns:
      true if the data class can be casted to WorkflowClass
      Since:
      0.6
    • isSubWorkflow

      boolean isSubWorkflow()
      Returns:
      true if the data class can be casted to SubWorkflowClass
      Since:
      0.6
    • isSequence

      boolean isSequence()
      Returns:
      true if the data class can be casted to SequenceClass
      Since:
      0.6
    • isDataflowWrapper

      boolean isDataflowWrapper()
      Returns:
      true if the data class can be casted to DataflowWrapperClass
      Since:
      0.6
    • isDataReference

      boolean isDataReference()
      Returns:
      true if the data class can be casted to DataReferenceClass
      Since:
      0.6
    • isNode

      boolean isNode()
      Returns:
      true if the data class can be casted to NodeClass
      Since:
      0.6
    • isNESTGraph

      boolean isNESTGraph()
      Returns:
      true if the data class can be casted to NESTGraphClass
      Since:
      0.6
    • isNESTSequentialWorkflow

      boolean isNESTSequentialWorkflow()
      Returns:
      true if the data class can be casted to NESTSequentialWorkflowClass
    • isNESTWorkflow

      boolean isNESTWorkflow()
      Returns:
      true if the data class can be casted to NESTWorkflowClass
      Since:
      0.6
    • isNESTNode

      boolean isNESTNode()
      Returns:
      true if the data class can be casted to NESTNodeClass
      Since:
      0.6
    • isNESTDataNode

      boolean isNESTDataNode()
      Returns:
      true if the data class can be casted to NESTDataNodeClass
      Since:
      0.6
    • isNESTTaskNode

      boolean isNESTTaskNode()
      Returns:
      true if the data class can be casted to NESTTaskNodeClass
      Since:
      0.6
    • isNESTSequenceNode

      boolean isNESTSequenceNode()
      Returns:
      true if the data class can be casted to NESTTaskNodeClass or NESTControlflowNodeClass
      Since:
      0.6
    • isNESTWorkflowNode

      boolean isNESTWorkflowNode()
      Returns:
      true if the data class can be casted to NESTWorkflowNodeClass
      Since:
      0.6
    • isNESTSubWorkflowNode

      boolean isNESTSubWorkflowNode()
      Returns:
      true if the data class can be casted to NESTSubWorkflowNodeClass
      Since:
      0.6
    • isNESTControlflowNode

      boolean isNESTControlflowNode()
      Returns:
      true if the data class can be casted to NESTControlflowNodeClass
      Since:
      0.6
    • isNESTEdge

      boolean isNESTEdge()
      Returns:
      true if the data class can be casted to NESTEdgeClass
      Since:
      0.6
    • isNESTConstraintEdge

      boolean isNESTConstraintEdge()
      Returns:
      true if the data class can be casted to NESTConstraintEdgeClass
      Since:
      0.6
    • isNESTControlflowEdge

      boolean isNESTControlflowEdge()
      Returns:
      true if the data class can be casted to NESTControlflowEdgeClass
      Since:
      0.6
    • isNESTDataflowEdge

      boolean isNESTDataflowEdge()
      Returns:
      true if the data class can be casted to NESTDataflowEdgeClass
      Since:
      0.6
    • isNESTPartOfEdge

      boolean isNESTPartOfEdge()
      Returns:
      true if the data class can be casted to NESTPartOfEdgeClass
      Since:
      0.6
    • removeId

      void removeId()
      Removes the given objectId from the set of ids. If the given objectId not exists or is null nothing will happen.
    • copy

      DataObject copy()
      Makes a deep copy of the data object
      Returns:
      deep copy of the data object
    • toXML

      String toXML()
      Converts the data object to XML
      Returns:
      XML String of the data object
    • fromXML

      static <T extends DataObject> T fromXML(String xml)
      Converts XML String to data object (via ObjectReader)
      Returns:
      data object
    • toDetailedString

      String toDetailedString()
      Returns a detailed String, if the output of the standard toString() method would be to long.
      Returns: