Package org.apache.torque.generator.source.transform

## Class SourceElementToModelTransformer

- java.lang.Object
- - org.apache.torque.generator.source.transform.SourceElementToModelTransformer

- All Implemented Interfaces:
    `SourceTransformer`

      public class SourceElementToModelTransformer
      extends Object
      implements SourceTransformer

  A Source transformer transforming a SourceElement graph to a typed model.
  Version:
    $Id: $

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `NULL_ATTRIBUTE_FIELD_NAME` | The field name in the model which is filled if the attribute name `null` appears in the source graph.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SourceElementToModelTransformer()` | Standard constructor.
    `SourceElementToModelTransformer​(Class<?> modelRootClass)` | Constructor defining the model root class.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected static Object` | `getInstance​(String className, UnitConfiguration unitConfiguration)` | Creates an instance of a class.
    `void` | `setIgnoreUnknownAttributes​(boolean ignoreUnknownAttributes)` | Sets whether to ignore unknown attributes in the source tree.
    `void` | `setIgnoreUnknownElements​(boolean ignoreUnknownElements)` | Sets whether to ignore unknown elements in the source tree.
    `void` | `setModelRootClass​(String modelRootClass)` | Sets the class which the model root must have.
    `Object` | `transform​(Object modelRoot, ControllerState controllerState)` | Transforms one source root into another source root.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NULL_ATTRIBUTE_FIELD_NAME

          public static final String NULL_ATTRIBUTE_FIELD_NAME

      The field name in the model which is filled if the attribute name `null` appears in the source graph.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SourceElementToModelTransformer

          public SourceElementToModelTransformer()

      Standard constructor.

    - #### SourceElementToModelTransformer

          public SourceElementToModelTransformer​(Class<?> modelRootClass)

      Constructor defining the model root class.
      Parameters:
        `modelRootClass` - the model root class, not null.

  - ### Method Detail

    - #### setModelRootClass

          public void setModelRootClass​(String modelRootClass)

      Sets the class which the model root must have.
      Parameters:
        `modelRootClass` - the class the model root must have, or null for any class

    - #### setIgnoreUnknownAttributes

          public void setIgnoreUnknownAttributes​(boolean ignoreUnknownAttributes)

      Sets whether to ignore unknown attributes in the source tree.
      Parameters:
        `ignoreUnknownAttributes` - true if unknown attributes should be ignored, false otherwise.

    - #### setIgnoreUnknownElements

          public void setIgnoreUnknownElements​(boolean ignoreUnknownElements)

      Sets whether to ignore unknown elements in the source tree.
      Parameters:
        `ignoreUnknownElements` - true if unknown elements should be ignored, false otherwise.

    - #### transform

          public Object transform​(Object modelRoot,
                                  ControllerState controllerState)
                           throws SourceTransformerException

      Description copied from interface: `SourceTransformer`
      Transforms one source root into another source root. It is allowed to modify the toTransformRoot tree and return the same tree.
      Specified by:
        `transform` in interface `SourceTransformer`
      Parameters:
        `modelRoot` - the root object to fill, not null.
        `controllerState` - the controller state object
      Returns:
        the transformed source root, not null.
      Throws:
        `SourceTransformerException` - if filling the source graph fails, e.g. if an attribute name or element name has no corresponding field in a model element.
      See Also:
        `Transforms the source graph into the model. This is done by recursively walking through the source graph and setting the fields corresponding to the names of the attributes resp. child elements.`

    - #### getInstance

          protected static Object getInstance​(String className,
                                              UnitConfiguration unitConfiguration)
                                       throws SourceTransformerException

      Creates an instance of a class.
      Parameters:
        `className` - the fully qualified name of the class to instantiate.
        `unitConfiguration` - The configuration of the generation unit, not null.
      Returns:
        the instance of the class
      Throws:
        `SourceTransformerException` - if the class cannot be instantiated.