public class AttributeTransformer extends Object implements SourceTransformer
${attribute(override):newAttribute}=prefix${attribute:oldAttribute}${option:suffix}
This would add the attribute newAttribute to the current sourceElement, and its content would be (in java notation) "prefix" + (currentElement.getAttribute("oldAttribute") == null ? "" : currentElement.getAttribute("oldAttribute")) + options.getOption("suffix")
On the left hand side, one can use attribute(override) (which replaces the attribute if its already there) and attribute(noOverride) which preserves the attribute if its already there. On the right hand side, you can use either plain text, ${attribute:attributeName} and ${option:optionName} in any combination. Escape character is the backslash. Lines starting with # and empty lines are disregarded.
Constructor and Description |
---|
AttributeTransformer(Reader transformDefinition)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
Object |
transform(Object toTransform,
ControllerState controllerState)
Adds attributes to the sourceElement according to the
transformDefinition.
|
public AttributeTransformer(Reader transformDefinition) throws SourceTransformerException
transformDefinition
- the Reader from which the transformDefinition
is read. The Reader is closed after processing.SourceTransformerException
- if an error occurs while reading or
parsing the transformDefinition.public Object transform(Object toTransform, ControllerState controllerState) throws SourceTransformerException
transform
in interface SourceTransformer
toTransform
- the object to transform. Must be a
SourceElement.controllerState
- the current state of the controller, not null.SourceTransformerException
- if an error occurs during
transforming.Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.