org.infinispan.schematic.internal.schema

## Class DocumentTransformer.PropertiesTransformer

- java.lang.Object
- - org.infinispan.schematic.internal.schema.DocumentTransformer.PropertiesTransformer

- All Implemented Interfaces:
    Document.ValueTransformer
  Enclosing class:
    DocumentTransformer

      public static final class DocumentTransformer.PropertiesTransformer
      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 the property. Notice that the syntax supports multiple variables. The logic will process the variables from let to right, until an existing property is found. And at that point, it will stop and will not attempt to find values for the other variables.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DocumentTransformer.PropertiesTransformer(Properties properties)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `transform(String name, Object value)` Transform the supplied field value.

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

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

- - ### Constructor Detail

    - #### DocumentTransformer.PropertiesTransformer

          public DocumentTransformer.PropertiesTransformer(Properties properties)

  - ### Method Detail

    - #### 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 null
        `value` - 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-2014 JBoss, a division of Red Hat. All Rights Reserved.