Class DroolsModelProvider<T extends org.dmg.pmml.Model,​E extends KiePMMLDroolsModel>

  • All Implemented Interfaces:
    org.kie.pmml.compiler.api.provider.ModelImplementationProvider<T,​E>

    public abstract class DroolsModelProvider<T extends org.dmg.pmml.Model,​E extends KiePMMLDroolsModel>
    extends Object
    implements org.kie.pmml.compiler.api.provider.ModelImplementationProvider<T,​E>
    Abstract ModelImplementationProvider for KiePMMLDroolsModels
    • Constructor Detail

      • DroolsModelProvider

        public DroolsModelProvider()
    • Method Detail

      • getKiePMMLModel

        public E getKiePMMLModel​(String packageName,
                                 List<org.dmg.pmml.Field<?>> fields,
                                 org.dmg.pmml.TransformationDictionary transformationDictionary,
                                 T model,
                                 org.kie.pmml.commons.model.HasClassLoader hasClassloader)
        Specified by:
        getKiePMMLModel in interface org.kie.pmml.compiler.api.provider.ModelImplementationProvider<T extends org.dmg.pmml.Model,​E extends KiePMMLDroolsModel>
      • getKiePMMLModelWithSources

        public E getKiePMMLModelWithSources​(String packageName,
                                            List<org.dmg.pmml.Field<?>> fields,
                                            org.dmg.pmml.TransformationDictionary transformationDictionary,
                                            T model,
                                            org.kie.pmml.commons.model.HasClassLoader hasClassloader)
        Specified by:
        getKiePMMLModelWithSources in interface org.kie.pmml.compiler.api.provider.ModelImplementationProvider<T extends org.dmg.pmml.Model,​E extends KiePMMLDroolsModel>
      • getKiePMMLModelWithSourcesCompiled

        public E getKiePMMLModelWithSourcesCompiled​(String packageName,
                                                    List<org.dmg.pmml.Field<?>> fields,
                                                    org.dmg.pmml.TransformationDictionary transformationDictionary,
                                                    T model,
                                                    org.kie.pmml.commons.model.HasClassLoader hasClassloader)
        Specified by:
        getKiePMMLModelWithSourcesCompiled in interface org.kie.pmml.compiler.api.provider.ModelImplementationProvider<T extends org.dmg.pmml.Model,​E extends KiePMMLDroolsModel>
      • getPackageDescr

        public org.drools.compiler.lang.descr.PackageDescr getPackageDescr​(KiePMMLDroolsAST kiePMMLDroolsAST,
                                                                           String packageName)
      • getKiePMMLDroolsModel

        public abstract E getKiePMMLDroolsModel​(List<org.dmg.pmml.Field<?>> fields,
                                                org.dmg.pmml.TransformationDictionary transformationDictionary,
                                                T model,
                                                Map<String,​KiePMMLOriginalTypeGeneratedType> fieldTypeMap,
                                                String packageName,
                                                org.kie.pmml.commons.model.HasClassLoader hasClassLoader)
        Parameters:
        fields - Should contain all fields retrieved from model, i.e. DataFields from DataDictionary, DerivedFields from Transformations/LocalTransformations, OutputFields
        transformationDictionary -
        model -
        fieldTypeMap -
        packageName -
        hasClassLoader -
        Returns:
      • getKiePMMLDroolsAST

        public abstract KiePMMLDroolsAST getKiePMMLDroolsAST​(List<org.dmg.pmml.Field<?>> fields,
                                                             T model,
                                                             Map<String,​KiePMMLOriginalTypeGeneratedType> fieldTypeMap,
                                                             List<KiePMMLDroolsType> types)
        Parameters:
        fields - Should contain all fields retrieved from model, i.e. DataFields from DataDictionary, DerivedFields from Transformations/LocalTransformations, OutputFields
        model -
        fieldTypeMap -
        types -
        Returns:
      • getKiePMMLDroolsModelSourcesMap

        public abstract Map<String,​String> getKiePMMLDroolsModelSourcesMap​(List<org.dmg.pmml.Field<?>> fields,
                                                                                 org.dmg.pmml.TransformationDictionary transformationDictionary,
                                                                                 T model,
                                                                                 Map<String,​KiePMMLOriginalTypeGeneratedType> fieldTypeMap,
                                                                                 String packageName)
                                                                          throws IOException
        Parameters:
        fields - Should contain all fields retrieved from model, i.e. DataFields from DataDictionary, DerivedFields from Transformations/LocalTransformations, OutputFields
        transformationDictionary -
        model -
        fieldTypeMap -
        packageName -
        Returns:
        Throws:
        IOException
      • getKiePMMLDroolsASTCommon

        protected KiePMMLDroolsAST getKiePMMLDroolsASTCommon​(List<org.dmg.pmml.Field<?>> fields,
                                                             T model,
                                                             Map<String,​KiePMMLOriginalTypeGeneratedType> fieldTypeMap)
        Parameters:
        fields - Should contain all fields retrieved from model, i.e. DataFields from DataDictionary, DerivedFields from Transformations/LocalTransformations, OutputFields
        model -
        fieldTypeMap -
        Returns:
      • getRulesSourceMap

        protected Map<String,​String> getRulesSourceMap​(org.drools.compiler.lang.descr.PackageDescr packageDescr)
      • generateRulesFiles

        protected List<org.drools.modelcompiler.builder.GeneratedFile> generateRulesFiles​(org.drools.compiler.lang.descr.PackageDescr packageDescr)
        This method depends on exec-model. Be aware in case of refactoring
        Parameters:
        packageDescr -
        Returns:
      • generateModels

        protected List<org.drools.modelcompiler.builder.GeneratedFile> generateModels​(org.drools.modelcompiler.builder.ModelBuilderImpl<org.drools.modelcompiler.builder.PackageSources> modelBuilder)