blob: fe5ab65f366cafa1ec57a42bb80647f659a0f04f [file] [log] [blame]
// TODO djo: copyright
package org.eclipse.jface.databinding.converters;
import org.eclipse.jface.databinding.converter.Converter;
import org.eclipse.jface.databinding.converterfunction.ConversionFunctionRegistry;
import org.eclipse.jface.databinding.converterfunction.IConversionFunction;
/**
* Converter that looks up its target to model and model to target methods
* in the ConvertsionFunctionRegistry.
*
* @since 3.2
*/
public class FunctionalConverter extends Converter {
private IConversionFunction targetToModel;
private IConversionFunction modelToTarget;
/**
* Constructs a Converter that looks up its target to model and model to target methods
* in the ConvertsionFunctionRegistry.
*
* @param targetType The target type Class
* @param modelType The model type Class
*/
public FunctionalConverter(Class targetType, Class modelType) {
super(targetType, modelType);
targetToModel = ConversionFunctionRegistry.get(targetType, modelType);
modelToTarget = ConversionFunctionRegistry.get(modelType, targetType);
}
/* (non-Javadoc)
* @see org.eclipse.jface.databinding.converter.IConverter#convertTargetToModel(java.lang.Object)
*/
public Object convertTargetToModel(Object targetObject) {
return targetToModel.convert(targetObject);
}
/* (non-Javadoc)
* @see org.eclipse.jface.databinding.converter.IConverter#convertModelToTarget(java.lang.Object)
*/
public Object convertModelToTarget(Object modelObject) {
return modelToTarget.convert(modelObject);
}
}