Package org.kie.internal.builder.help
Class KnowledgeBuilderHelper
- java.lang.Object
-
- org.kie.internal.builder.help.KnowledgeBuilderHelper
-
public class KnowledgeBuilderHelper extends Object
Provides helper methods for working with JAXB and a Knowledgebase, it takes care of the Classpath issues when mapping against internal type declarations.This api is experimental and thus the classes and the interfaces returned are subject to change.
-
-
Constructor Summary
Constructors Constructor Description KnowledgeBuilderHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String[]
addXsdModel(org.kie.api.io.Resource resource, KnowledgeBuilder kbuilder, com.sun.tools.xjc.Options xjcOpts, String systemId)
Generates pojos for a given XSD using XJC and adds them to the specified KnowlegeBase.static DroolsJaxbHelperProvider
getDroolsJaxbHelperProvider()
static JAXBContext
newJAXBContext(String[] classNames, Map<String,?> properties, org.kie.api.KieBase kbase)
static JAXBContext
newJAXBContext(String[] classNames, org.kie.api.KieBase kbase)
Creates a new JAXBContext, from which the Marshaller and Unmarshaller can be created, which are used by the Transformer pipeline stage.
-
-
-
Method Detail
-
addXsdModel
public static String[] addXsdModel(org.kie.api.io.Resource resource, KnowledgeBuilder kbuilder, com.sun.tools.xjc.Options xjcOpts, String systemId) throws IOException
Generates pojos for a given XSD using XJC and adds them to the specified KnowlegeBase.Options xjcOpts = new Options(); xjcOpts.setSchemaLanguage( Language.XMLSCHEMA ); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); String[] classNames = KnowledgeBuilderHelper.addXsdModel( ResourceFactory.newClassPathResource( "order.xsd", getClass() ), kbuilder, xjcOpts, "xsd" );
- Parameters:
resource
- The resource to the XSD modelkbuilder
- the KnowledgeBuilder where the generated .class files will be placedxjcOpts
- XJC OptionssystemId
- XJC systemId- Returns:
- Returns an array of class names that where generated by the XSD.
- Throws:
IOException
-
newJAXBContext
public static JAXBContext newJAXBContext(String[] classNames, org.kie.api.KieBase kbase) throws JAXBException
Creates a new JAXBContext, from which the Marshaller and Unmarshaller can be created, which are used by the Transformer pipeline stage.- Parameters:
classNames
- An array of class names that can be resolved by this JAXBContextkbase
- The KnowledgeBase- Returns:
- The JAXB Context
- Throws:
JAXBException
-
newJAXBContext
public static JAXBContext newJAXBContext(String[] classNames, Map<String,?> properties, org.kie.api.KieBase kbase) throws JAXBException
- Throws:
JAXBException
-
getDroolsJaxbHelperProvider
public static DroolsJaxbHelperProvider getDroolsJaxbHelperProvider()
-
-