class KiePMMLDerivedFieldASTFactory {

    public KiePMMLDroolsType declareType(DerivedField derivedField) {
        String generatedType = getSanitizedClassName(derivedField.getName().getValue().toUpperCase());
        String fieldName = derivedField.getName().getValue();
        String fieldType = derivedField.getDataType().value();
        fieldTypeMap.put(fieldName, new KiePMMLOriginalTypeGeneratedType(fieldType, generatedType));
        return new KiePMMLDroolsType(generatedType, DATA_TYPE.byName(fieldType).getMappedClass().getSimpleName());
    }

    private  KiePMMLDerivedFieldASTFactory(final Map<String, KiePMMLOriginalTypeGeneratedType> fieldTypeMap);

}