org.eclipse.xtext.conversion.impl
Class AbstractNullSafeConverter<T>

java.lang.Object
  extended by org.eclipse.xtext.conversion.impl.AbstractValueConverter<T>
      extended by org.eclipse.xtext.conversion.impl.AbstractNullSafeConverter<T>
All Implemented Interfaces:
IValueConverter<T>
Direct Known Subclasses:
AbstractToStringConverter

public abstract class AbstractNullSafeConverter<T>
extends AbstractValueConverter<T>

Author:
Sven Efftinge - Initial contribution and API

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.xtext.conversion.IValueConverter
IValueConverter.RuleSpecific
 
Field Summary
 
Fields inherited from interface org.eclipse.xtext.conversion.IValueConverter
NO_OP_CONVERTER
 
Constructor Summary
AbstractNullSafeConverter()
           
 
Method Summary
protected abstract  java.lang.String internalToString(T value)
           
protected abstract  T internalToValue(java.lang.String string, INode node)
           
 java.lang.String toString(T value)
          Transforms the given value to a string that is conformant to the expected terminal or data type rule.
 T toValue(java.lang.String string, INode node)
          Creates a value from the given input.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractNullSafeConverter

public AbstractNullSafeConverter()
Method Detail

toString

public java.lang.String toString(T value)
Description copied from interface: IValueConverter
Transforms the given value to a string that is conformant to the expected terminal or data type rule.

Parameters:
value - the to-be-transformed value
Returns:
a string represenation for that value.

internalToString

protected abstract java.lang.String internalToString(T value)

toValue

public T toValue(java.lang.String string,
                 INode node)
          throws ValueConverterException
Description copied from interface: IValueConverter

Creates a value from the given input. The input is conformant to a data type or terminal rule.

The given string or node may be null but not both of them.

Parameters:
string - the string that was inferred from the node. Usually the node's text but may be reduced to the parts of the node that are not hidden.
node - the parsed node including hidden parts.
Returns:
the new value or null.
Throws:
ValueConverterException - indicates that the string or node did not fulfil the expected format.

internalToValue

protected abstract T internalToValue(java.lang.String string,
                                     INode node)
                              throws ValueConverterException
Throws:
ValueConverterException