package nl.ipo.cds.attributemapping.operations; import java.lang.reflect.Type; import java.util.List; import java.util.Locale; import nl.ipo.cds.attributemapping.MapperContext; import nl.ipo.cds.attributemapping.executer.OperationExecuter; public interface OperationType { String getName (); String getDescription (Locale locale); String getLabel (Locale locale); String getFormatLabel (Locale locale); /** * The return type of this operation. Returns Void.TYPE for outputs. * * @return The return type of this operation. */ Type getReturnType (); /** * Class that contains properties for this operation type, or null if the * operation has no properties. * * @return The property class, or null. */ Class<?> getPropertyBeanClass (); List<OperationInputType> getInputs (); OperationExecuter createExecuter (Object operationProperties, MapperContext context); }