java.lang.Object
de.grogra.xl.impl.base.CompiletimeModel
- All Implemented Interfaces:
CompiletimeModel
- Direct Known Subclasses:
Compiletime
,CompiletimeModel
,CompiletimeModel
-
Constructor Summary
-
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.boolean
needsWrapperFor
(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, wait
Methods inherited from interface de.grogra.xl.query.CompiletimeModel
getNodeType, getProducerType, getWrapperTypeFor
-
Constructor Details
-
CompiletimeModel
-
-
Method Details
-
needsWrapperFor
Description copied from interface:CompiletimeModel
Determines whether a value of the given type has to be wrapped before it is added as a node to aGraph
.- Specified by:
needsWrapperFor
in interfaceCompiletimeModel
- Parameters:
type
- a value type- Returns:
true
iff a wrapper is needed fortype
-
getEdgeTypeFor
Description copied from interface:CompiletimeModel
Specifies the compile-time type of edges for a given type. This method returns the type to which an expression of compile-time typetype
should be cast before it is interpreted as an edge expression.- Specified by:
getEdgeTypeFor
in interfaceCompiletimeModel
- Parameters:
type
- the type of the expression- Returns:
- the type of the resulting edge expression
-
getEdgeType
Description copied from interface:CompiletimeModel
Specifies 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:
getEdgeType
in interfaceCompiletimeModel
- Returns:
- the type of standard edges
-
getStandardEdgeFor
Description copied from interface:CompiletimeModel
Returns a constant value representing a standard edge. The returned value represents the given standardedge
(EdgePattern.ANY_EDGE
,EdgePattern.BRANCH_EDGE
,EdgePattern.SUCCESSOR_EDGE
orEdgePattern.REFINEMENT_EDGE
) for this model. It is used as argument to constructor invocations ofEdgePattern
. Primitive values have to be wrapped as usual.- Specified by:
getStandardEdgeFor
in interfaceCompiletimeModel
- Parameters:
edgeType
-int
-value encoding a standard edge- Returns:
- corresponding representation for this model
-
getWrapProperty
Description copied from interface:CompiletimeModel
Returns the unwrapping property of a wrapper type.wrapperType
is 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:
getWrapProperty
in interfaceCompiletimeModel
- Parameters:
wrapperType
- the type of a wrapper- Returns:
- the unwrapping property for this type
-
getQueryStateType
Description copied from interface:CompiletimeModel
Returns the type of query states to be used for queries for this model.- Specified by:
getQueryStateType
in interfaceCompiletimeModel
- Returns:
- type of producers
-
getRuntimeName
Description copied from interface:CompiletimeModel
Defines 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 theRuntimeModel
suitable for the code that is compiled within this compile-time model.- Specified by:
getRuntimeName
in interfaceCompiletimeModel
- Returns:
- the name of the corresponding run-time model
-