org.infinispan.schematic.internal.schema
Class DocumentTransformer.SystemPropertiesTransformer
java.lang.Object
org.infinispan.schematic.internal.schema.DocumentTransformer.SystemPropertiesTransformer
- All Implemented Interfaces:
- Document.ValueTransformer
- Enclosing class:
- DocumentTransformer
public static final class DocumentTransformer.SystemPropertiesTransformer
- extends Object
- implements Document.ValueTransformer
An implementation of Document.ValueTransformer
that replaces variables in the
field values with values from the system properties. Only string values are considered, since other types cannot contain
variables (and since the transformers are never called on Document or List values).
Variables may appear anywhere within a string value, and multiple variables can be used within the same value. Variables
take the form:
variable := '${' variableNames [ ':' defaultValue ] '}'
variableNames := variableName [ ',' variableNames ]
variableName := /* any characters except ',' and ':' and '}'
defaultValue := /* any characters except
Note that variableName is the name used to look up a System property via System.getProperty(String)
.
Notice that the syntax supports multiple variables. The logic will process the variables from let to right,
until an existing System property is found. And at that point, it will stop and will not attempt to find values for the
other variables.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DocumentTransformer.SystemPropertiesTransformer
public DocumentTransformer.SystemPropertiesTransformer()
transform
public Object transform(String name,
Object value)
- Description copied from interface:
Document.ValueTransformer
- Transform the supplied field value.
- Specified by:
transform
in interface Document.ValueTransformer
- Parameters:
name
- the name of the field; never nullvalue
- the existing value for the field
- Returns:
- the transformed value; never null but may be the same
value
object if no transformation should be
made
Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.