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 namenull
appears in the source graph.
-
Constructor Summary
Constructors Constructor Description SourceElementToModelTransformer()
Standard constructor.SourceElementToModelTransformer(Class<?> modelRootClass)
Constructor defining the model root class.
-
Method Summary
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.
-
-
-
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 namenull
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 interfaceSourceTransformer
- 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.
-
-