class KiePMMLTreeModelASTFactory extends KiePMMLAbstractModelASTFactory {

    public static KiePMMLDroolsAST getKiePMMLDroolsAST(final DataDictionary dataDictionary,
                                                       final TreeModel model,
                                                       final Map<String, KiePMMLOriginalTypeGeneratedType> fieldTypeMap,
                                                       final List<KiePMMLDroolsType> types) {
        logger.trace("getKiePMMLDroolsAST {} {}", dataDictionary, model);
        DATA_TYPE targetType = getTargetFieldType(dataDictionary, model);
        final List<KiePMMLOutputField> outputFields = getOutputFields(model);
        List<KiePMMLDroolsRule> rules = KiePMMLTreeModelNodeASTFactory.factory(fieldTypeMap, outputFields, model.getNoTrueChildStrategy(), targetType).declareRulesFromRootNode(model.getNode(), "");
        return new KiePMMLDroolsAST(types, rules);
    }

    private  KiePMMLTreeModelASTFactory();

}