Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.grogra.xl.impl.base
Class CompiletimeModel

    java.lang.Object
      de.grogra.xl.impl.base.CompiletimeModel

All Implemented Interfaces:
  CompiletimeModel

Direct Known Subclasses:
  Compiletime, CompiletimeModel, CompiletimeModel

    public abstract class CompiletimeModel

extends java.lang.Object
implements CompiletimeModel

Constructor Summary
`CompiletimeModel(java.lang.String runtimeConstant)`

Method Summary
`Type<?>` | `getEdgeType()` Specifies the type of standard edges.
`Type<?>` | `getEdgeTypeFor(Type<?> type)` Specifies the compile-time type of edges for a given type.
`Type<Graph.QState>` | `getQueryStateType()` Returns the type of query states to be used for queries for this model.
`java.lang.String` | `getRuntimeName()` Defines the name of the corresponding `RuntimeModel`.
`java.io.Serializable` | `getStandardEdgeFor(int edgeType)` Returns a constant value representing a standard edge.
`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 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 Detail

### CompiletimeModel

    public CompiletimeModel(java.lang.String runtimeConstant)

Method Detail

### getEdgeType

    public Type<?> 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 by `CompiletimeModel.getStandardEdgeFor(int)`.

  Specified by:
    `getEdgeType` in interface `CompiletimeModel`
  Returns:
    the type of standard edges

### getEdgeTypeFor

    public Type<?> getEdgeTypeFor(Type<?> type)

  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 type `type` should be cast before it is interpreted as an edge expression.

  Specified by:
    `getEdgeTypeFor` in interface `CompiletimeModel`
  Parameters:
    `type` - the type of the expression
  Returns:
    the type of the resulting edge expression

### getQueryStateType

    public Type<Graph.QState> getQueryStateType()

  Description copied from interface: `CompiletimeModel`
  Returns the type of query states to be used for queries for this model.

  Specified by:
    `getQueryStateType` in interface `CompiletimeModel`
  Returns:
    type of producers

### getRuntimeName

    public java.lang.String getRuntimeName()

  Description copied from interface: `CompiletimeModel`
  Defines the name of the corresponding `RuntimeModel`. This name is used during run-time in invocations of `RuntimeModelFactory.modelForName(java.lang.String, java.lang.ClassLoader)` in order to obtain the `RuntimeModel` suitable for the code that is compiled within this compile-time model.

  Specified by:
    `getRuntimeName` in interface `CompiletimeModel`
  Returns:
    the name of the corresponding run-time model

### getStandardEdgeFor

    public java.io.Serializable getStandardEdgeFor(int edgeType)

  Description copied from interface: `CompiletimeModel`
  Returns a constant value representing a standard edge. The returned value represents the given standard `edge` (`EdgePattern.ANY_EDGE`, `EdgePattern.BRANCH_EDGE`, `EdgePattern.SUCCESSOR_EDGE` or `EdgePattern.REFINEMENT_EDGE`) for this model. It is used as argument to constructor invocations of `EdgePattern`. Primitive values have to be wrapped as usual.

  Specified by:
    `getStandardEdgeFor` in interface `CompiletimeModel`
  Parameters:
    `edgeType` - `int`-value encoding a standard edge
  Returns:
    corresponding representation for this model

### 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`
  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`
  Parameters:
    `type` - a value type
  Returns:
    `true` iff a wrapper is needed for `type`

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD