org.apache.hivemind.schema.rules
Class SmartTranslator

java.lang.Object
  extended by org.apache.hivemind.schema.rules.SmartTranslator
All Implemented Interfaces:
Translator

public class SmartTranslator
extends java.lang.Object
implements Translator

A "smart" translator that attempts to automatically convert from string types to object or wrapper types, using PropertyEditors.

Author:
Howard Lewis Ship

Constructor Summary
SmartTranslator()
           
SmartTranslator(java.lang.String initializer)
          Initializers: default: default value for empty input
 
Method Summary
 java.lang.Object translate(Module contributingModule, java.lang.Class propertyType, java.lang.String inputValue, Location location)
          Invoked by a Rule to translate an inputValue into an appropriate object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartTranslator

public SmartTranslator()

SmartTranslator

public SmartTranslator(java.lang.String initializer)
Initializers:

Method Detail

translate

public java.lang.Object translate(Module contributingModule,
                                  java.lang.Class propertyType,
                                  java.lang.String inputValue,
                                  Location location)
Description copied from interface: Translator
Invoked by a Rule to translate an inputValue into an appropriate object. Substitution symbols will already have been expanded before this method is invoked.

Specified by:
translate in interface Translator
Parameters:
contributingModule - the module from which the input value originates
propertyType - the type of the property to be assigned by this translator; smart translators may be able to automatically convert from string to the correct type
inputValue - the value to be translated, either an attribute value or the content of the element
location - the location of the inputValue; used to set the location of created objects, or when reporting errors