Class DelegatingType
java.lang.Object
net.ssehub.easy.varModel.model.datatypes.DelegatingType
- All Implemented Interfaces:
IDatatype,IDatatypeVisitable
An internal delegating type to resolve cyclic class dependencies. A delegating type
represents (common) singleton type instances.
- Author:
- Holger Eichelberger
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IDatatypeStores the type to delegate to.private DelegatingTypeprivate int -
Constructor Summary
ConstructorsConstructorDescriptionCreates a delegating type.DelegatingType(DelegatingType parent) Creates a delegating type.DelegatingType(IDatatype delegate) Creates a delegating type.DelegatingType(IDatatype delegate, DelegatingType parent) Creates a delegating type. -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(IDatatypeVisitor visitor) Accepts a specialized visitor for creating a textual representation of the identity of this type.(package private) voidaddOperation(Operation operator) Allows child classes to add Operations to itself.private OperationgetAllOperation(int index) Returns the operation at positionindexand considers also parent operations.private intReturns the number of operations of the parent an all parents above.Returns the delegate type.getGenericType(int index) Returns the specified generic type.intReturns the number of generic types.getName()Method to get the name of the Datatype.Returns the namespace of this datatype.getOperation(int index) Returns the operation specified byindex.intReturns the number of operations.Returns the qualified name of this element.getType()Returns the object realizing the type.Returns the java class realizing the type.Returns the unique name of this element.booleanisAssignableFrom(IDatatype type) Determines if the data type represented by this object is either the same as, or is a supertype oftype.booleanReturns whether this type is a primitive type.booleanReturns whether this type is a pseudo type.(package private) voidprependOperation(Operation operator) Allows child classes to add Operations to itself.voidsetDelegate(IDatatype delegate) Changes the delegate.toString()voidUpdates the information collected about the parent.
-
Field Details
-
operationList
-
delegate
Stores the type to delegate to. -
parent
-
parentOperationCount
private int parentOperationCount
-
-
Constructor Details
-
DelegatingType
DelegatingType()Creates a delegating type. -
DelegatingType
DelegatingType(IDatatype delegate) Creates a delegating type.- Parameters:
delegate- the delegate
-
DelegatingType
DelegatingType(DelegatingType parent) Creates a delegating type.- Parameters:
parent- the parent delegate (considers operations)
-
DelegatingType
DelegatingType(IDatatype delegate, DelegatingType parent) Creates a delegating type.- Parameters:
delegate- the delegateparent- the parent delegate (considers operations)
-
-
Method Details
-
updateParentInformation
public void updateParentInformation()Updates the information collected about the parent. -
getAllOperationCount
private int getAllOperationCount()Returns the number of operations of the parent an all parents above.- Returns:
- the number of operation
-
getAllOperation
Returns the operation at positionindexand considers also parent operations.- Parameters:
index- the index number of the operation- Returns:
- the specified operation
- Throws:
IndexOutOfBoundsException- ifindex<0 || index>=getAllOperationCount()
-
setDelegate
Changes the delegate.- Parameters:
delegate- the new delegate
-
getName
Description copied from interface:IDatatypeMethod to get the name of the Datatype. -
getNameSpace
Description copied from interface:IDatatypeReturns the namespace of this datatype.- Specified by:
getNameSpacein interfaceIDatatype- Returns:
- Namespace of this datatype.
-
getQualifiedName
Description copied from interface:IDatatypeReturns the qualified name of this element.- Specified by:
getQualifiedNamein interfaceIDatatype- Returns:
- the qualified name
-
getUniqueName
Description copied from interface:IDatatypeReturns the unique name of this element.- Specified by:
getUniqueNamein interfaceIDatatype- Returns:
- the unique name
-
getOperation
Description copied from interface:IDatatypeReturns the operation specified byindex.- Specified by:
getOperationin interfaceIDatatype- Parameters:
index- a 0-based index specifying the operation to be returned- Returns:
- the operation
-
getOperationCount
public int getOperationCount()Description copied from interface:IDatatypeReturns the number of operations.- Specified by:
getOperationCountin interfaceIDatatype- Returns:
- the number of operations
-
isAssignableFrom
Description copied from interface:IDatatypeDetermines if the data type represented by this object is either the same as, or is a supertype oftype.- Specified by:
isAssignableFromin interfaceIDatatype- Parameters:
type- the type being checked- Returns:
trueif this type is either the same or a supertype oftype,falseelse
-
addOperation
Allows child classes to add Operations to itself.- Parameters:
operator- One operation, which should be added.
-
prependOperation
Allows child classes to add Operations to itself.- Parameters:
operator- One operation, which should be added.
-
getTypeClass
Description copied from interface:IDatatypeReturns the java class realizing the type.- Specified by:
getTypeClassin interfaceIDatatype- Returns:
- the java class realizing the type
-
getType
Returns the object realizing the type. -
getGenericType
Description copied from interface:IDatatypeReturns the specified generic type.- Specified by:
getGenericTypein interfaceIDatatype- Parameters:
index- the index of the type- Returns:
- the specified generic type
-
getGenericTypeCount
public int getGenericTypeCount()Description copied from interface:IDatatypeReturns the number of generic types.- Specified by:
getGenericTypeCountin interfaceIDatatype- Returns:
- the number of generic types
-
accept
Description copied from interface:IDatatypeVisitableAccepts a specialized visitor for creating a textual representation of the identity of this type.- Specified by:
acceptin interfaceIDatatypeVisitable- Parameters:
visitor- the visitor to accept
-
isPseudoType
public boolean isPseudoType()Description copied from interface:IDatatypeReturns whether this type is a pseudo type. This operation shall be used to prevent the output of internal types to the user.- Specified by:
isPseudoTypein interfaceIDatatype- Returns:
trueif it is a pseudo type,falseelse
-
getDelegate
Returns the delegate type.- Returns:
- the delegate type
-
toString
-
isPrimitive
public boolean isPrimitive()Description copied from interface:IDatatypeReturns whether this type is a primitive type.- Specified by:
isPrimitivein interfaceIDatatype- Returns:
trueif it is a primitive type,falseelse
-