java.lang.Object
de.grogra.xl.impl.base.CompiletimeModel
- All Implemented Interfaces:
CompiletimeModel
- Direct Known Subclasses:
Compiletime,CompiletimeModel,CompiletimeModel
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionType<?> Specifies the type of standard edges.Type<?> getEdgeTypeFor(Type<?> type) Specifies the compile-time type of edges for a given type.Returns the type of query states to be used for queries for this model.Defines the name of the correspondingRuntimeModel.getStandardEdgeFor(int edgeType) Returns a constant value representing a standard edge.getWrapProperty(Type<?> wrapperType) Returns the unwrapping property of a wrapper type.booleanneedsWrapperFor(Type<?> type) Determines whether a value of the given type has to be wrapped before it is added as a node to aGraph.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.grogra.xl.query.CompiletimeModel
getNodeType, getProducerType, getWrapperTypeFor
-
Constructor Details
-
CompiletimeModel
-
-
Method Details
-
needsWrapperFor
Description copied from interface:CompiletimeModelDetermines whether a value of the given type has to be wrapped before it is added as a node to aGraph.- Specified by:
needsWrapperForin interfaceCompiletimeModel- Parameters:
type- a value type- Returns:
trueiff a wrapper is needed fortype
-
getEdgeTypeFor
Description copied from interface:CompiletimeModelSpecifies the compile-time type of edges for a given type. This method returns the type to which an expression of compile-time typetypeshould be cast before it is interpreted as an edge expression.- Specified by:
getEdgeTypeForin interfaceCompiletimeModel- Parameters:
type- the type of the expression- Returns:
- the type of the resulting edge expression
-
getEdgeType
Description copied from interface:CompiletimeModelSpecifies the type of standard edges. This method returns the type which is used for the representation of standard edges in this model. This has to be the type of the (possibly unwrapped) values returned byCompiletimeModel.getStandardEdgeFor(int).- Specified by:
getEdgeTypein interfaceCompiletimeModel- Returns:
- the type of standard edges
-
getStandardEdgeFor
Description copied from interface:CompiletimeModelReturns a constant value representing a standard edge. The returned value represents the given standardedge(EdgePattern.ANY_EDGE,EdgePattern.BRANCH_EDGE,EdgePattern.SUCCESSOR_EDGEorEdgePattern.REFINEMENT_EDGE) for this model. It is used as argument to constructor invocations ofEdgePattern. Primitive values have to be wrapped as usual.- Specified by:
getStandardEdgeForin interfaceCompiletimeModel- Parameters:
edgeType-int-value encoding a standard edge- Returns:
- corresponding representation for this model
-
getWrapProperty
Description copied from interface:CompiletimeModelReturns the unwrapping property of a wrapper type.wrapperTypeis the type of a wrapper. If there is a property declared in this type which can be used to obtain the wrapped argument, this property is returned, otherwisenull.- Specified by:
getWrapPropertyin interfaceCompiletimeModel- Parameters:
wrapperType- the type of a wrapper- Returns:
- the unwrapping property for this type
-
getQueryStateType
Description copied from interface:CompiletimeModelReturns the type of query states to be used for queries for this model.- Specified by:
getQueryStateTypein interfaceCompiletimeModel- Returns:
- type of producers
-
getRuntimeName
Description copied from interface:CompiletimeModelDefines the name of the correspondingRuntimeModel. This name is used during run-time in invocations ofRuntimeModelFactory.modelForName(java.lang.String, java.lang.ClassLoader)in order to obtain theRuntimeModelsuitable for the code that is compiled within this compile-time model.- Specified by:
getRuntimeNamein interfaceCompiletimeModel- Returns:
- the name of the corresponding run-time model
-