de.grogra.rgg.model
Class Compiletime

java.lang.Object
  extended by de.grogra.xl.impl.base.CompiletimeModel
      extended by de.grogra.rgg.model.Compiletime
All Implemented Interfaces:
CompiletimeModel

public class Compiletime
extends CompiletimeModel


Constructor Summary
Compiletime()
           
Compiletime(java.lang.String runtimeConstant)
           
 
Method Summary
 Type<Node> getNodeType()
          Specifies the base type of nodes of this model.
 Type<? extends Producer> getProducerType()
          Returns the type of producers for right-hand sides of rules for this model.
 Type<?> getWrapperTypeFor(Type<?> type)
          Return the type of wrappers for values of the given type.
 CompiletimeModel.Property 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 a Graph.
 
Methods inherited from class de.grogra.xl.impl.base.CompiletimeModel
getEdgeType, getEdgeTypeFor, getQueryStateType, getRuntimeName, getStandardEdgeFor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Compiletime

public Compiletime()

Compiletime

public Compiletime(java.lang.String runtimeConstant)
Method Detail

getNodeType

public Type<Node> getNodeType()
Description copied from interface: CompiletimeModel
Specifies the base type of nodes of this model. This type is used where no specific type is available, e.g., for the node predicate "." and for the ends of standard edges.

Returns:
base type of nodes

getProducerType

public Type<? extends Producer> getProducerType()
Description copied from interface: CompiletimeModel
Returns the type of producers for right-hand sides of rules for this model.

Returns:
type of producers

getWrapperTypeFor

public Type<?> getWrapperTypeFor(Type<?> type)
Description copied from interface: CompiletimeModel
Return the type of wrappers for values of the given type. This method is only invoked when CompiletimeModel.needsWrapperFor(de.grogra.reflect.Type) returns true.

Parameters:
type - a value type
Returns:
the corresponding wrapper type

getWrapProperty

public CompiletimeModel.Property getWrapProperty(Type<?> wrapperType)
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, otherwise null.

Specified by:
getWrapProperty in interface CompiletimeModel
Overrides:
getWrapProperty in class CompiletimeModel
Parameters:
wrapperType - the type of a wrapper
Returns:
the unwrapping property for this type

needsWrapperFor

public boolean needsWrapperFor(Type<?> type)
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 a Graph.

Specified by:
needsWrapperFor in interface CompiletimeModel
Overrides:
needsWrapperFor in class CompiletimeModel
Parameters:
type - a value type
Returns:
true iff a wrapper is needed for type