Package org.kie.dmn.core.impl
Class DMNModelImpl
- java.lang.Object
-
- org.kie.dmn.core.impl.DMNModelImpl
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,org.kie.dmn.api.core.DMNMessageContainer,org.kie.dmn.api.core.DMNModel,DMNMessageManager
public class DMNModelImpl extends java.lang.Object implements org.kie.dmn.api.core.DMNModel, DMNMessageManager, java.io.Externalizable
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DMNModelImpl()DMNModelImpl(org.kie.dmn.model.api.Definitions definitions)DMNModelImpl(org.kie.dmn.model.api.Definitions dmndefs, org.kie.api.io.Resource resource)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAll(java.util.List<? extends org.kie.dmn.api.core.DMNMessage> messages)voidaddAllUnfiltered(java.util.List<? extends org.kie.dmn.api.core.DMNMessage> messages)Internal utility method.voidaddBusinessKnowledgeModel(org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode bkm)voidaddDecision(org.kie.dmn.api.core.ast.DecisionNode dn)voidaddDecisionService(org.kie.dmn.api.core.ast.DecisionServiceNode dsn)voidaddImportChainChild(org.kie.dmn.core.impl.DMNModelImpl.ImportChain child, java.lang.String alias)voidaddInput(org.kie.dmn.api.core.ast.InputDataNode idn)voidaddItemDefinition(org.kie.dmn.api.core.ast.ItemDefNode idn)org.kie.dmn.api.core.DMNMessageaddMessage(org.kie.dmn.api.core.DMNMessage msg)org.kie.dmn.api.core.DMNMessageaddMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, java.lang.String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source)org.kie.dmn.api.core.DMNMessageaddMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, java.lang.String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source, java.lang.Throwable exception)org.kie.dmn.api.core.DMNMessageaddMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, java.lang.String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source, org.kie.dmn.api.feel.runtime.events.FEELEvent feelEvent)voidaddPMMLImportInfo(DMNImportPMMLInfo info)org.kie.dmn.api.core.ast.BusinessKnowledgeModelNodegetBusinessKnowledgeModelById(java.lang.String id)org.kie.dmn.api.core.ast.BusinessKnowledgeModelNodegetBusinessKnowledgeModelByName(java.lang.String name)java.util.Set<org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode>getBusinessKnowledgeModels()org.kie.dmn.api.core.ast.DecisionNodegetDecisionById(java.lang.String id)org.kie.dmn.api.core.ast.DecisionNodegetDecisionByName(java.lang.String name)java.util.Set<org.kie.dmn.api.core.ast.DecisionNode>getDecisions()org.kie.dmn.api.core.ast.DecisionServiceNodegetDecisionServiceById(java.lang.String id)org.kie.dmn.api.core.ast.DecisionServiceNodegetDecisionServiceByName(java.lang.String name)java.util.Collection<org.kie.dmn.api.core.ast.DecisionServiceNode>getDecisionServices()org.kie.dmn.model.api.DefinitionsgetDefinitions()java.util.Map<java.lang.String,javax.xml.namespace.QName>getImportAliasesForNS()java.util.Optional<java.lang.String>getImportAliasFor(java.lang.String ns, java.lang.String iModelName)org.kie.dmn.core.impl.DMNModelImpl.ImportChaingetImportChain()java.util.Map<java.lang.String,java.util.Collection<java.util.List<java.lang.String>>>getImportChainAliases()java.util.List<org.kie.dmn.api.core.DMNModel>getImportChainDirectChildModels()javax.xml.namespace.QNamegetImportNamespaceAndNameforAlias(java.lang.String iAlias)org.kie.dmn.api.core.ast.InputDataNodegetInputById(java.lang.String id)org.kie.dmn.api.core.ast.InputDataNodegetInputByName(java.lang.String name)java.util.Set<org.kie.dmn.api.core.ast.InputDataNode>getInputs()org.kie.dmn.api.core.ast.ItemDefNodegetItemDefinitionById(java.lang.String id)org.kie.dmn.api.core.ast.ItemDefNodegetItemDefinitionByName(java.lang.String name)java.util.Set<org.kie.dmn.api.core.ast.ItemDefNode>getItemDefinitions()java.util.List<org.kie.dmn.api.core.DMNMessage>getMessages()java.util.List<org.kie.dmn.api.core.DMNMessage>getMessages(org.kie.dmn.api.core.DMNMessage.Severity... sevs)java.lang.StringgetName()java.lang.StringgetNamespace()java.util.Map<java.lang.String,DMNImportPMMLInfo>getPmmlImportInfo()java.util.Set<org.kie.dmn.api.core.ast.InputDataNode>getRequiredInputsForDecisionId(java.lang.String decisionId)java.util.Set<org.kie.dmn.api.core.ast.InputDataNode>getRequiredInputsForDecisionName(java.lang.String decisionName)org.kie.api.io.ResourcegetResource()DMNTypeRegistrygetTypeRegistry()booleanhasErrors()booleanisRuntimeTypeCheck()java.lang.StringnameInCurrentModel(org.kie.dmn.api.core.ast.DMNNode node)Given a DMNNode, compute the proper name of the node, considering DMN-Imports.voidreadExternal(java.io.ObjectInput in)booleanremoveDMNNodeFromIndexes(org.kie.dmn.api.core.ast.DMNNode node)voidsetDefinitions(org.kie.dmn.model.api.Definitions definitions)voidsetImportAliasForNS(java.lang.String iAlias, java.lang.String iNS, java.lang.String iModelName)voidsetResource(org.kie.api.io.Resource resource)voidsetRuntimeTypeCheck(boolean runtimeTypeCheck)voidwriteExternal(java.io.ObjectOutput out)
-
-
-
Method Detail
-
getTypeRegistry
public DMNTypeRegistry getTypeRegistry()
-
getNamespace
public java.lang.String getNamespace()
- Specified by:
getNamespacein interfaceorg.kie.dmn.api.core.DMNModel
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getDefinitions
public org.kie.dmn.model.api.Definitions getDefinitions()
- Specified by:
getDefinitionsin interfaceorg.kie.dmn.api.core.DMNModel
-
setDefinitions
public void setDefinitions(org.kie.dmn.model.api.Definitions definitions)
-
nameInCurrentModel
public java.lang.String nameInCurrentModel(org.kie.dmn.api.core.ast.DMNNode node)
Given a DMNNode, compute the proper name of the node, considering DMN-Imports. For DMNNode in this current model, name is simply the name of the model. For imported DMNNodes, this is the name with the prefix of the direct-dependency of the import `name`. For transitively-imported DMNNodes, it is always null.
-
addInput
public void addInput(org.kie.dmn.api.core.ast.InputDataNode idn)
-
getInputById
public org.kie.dmn.api.core.ast.InputDataNode getInputById(java.lang.String id)
- Specified by:
getInputByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getInputByName
public org.kie.dmn.api.core.ast.InputDataNode getInputByName(java.lang.String name)
- Specified by:
getInputByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getInputs
public java.util.Set<org.kie.dmn.api.core.ast.InputDataNode> getInputs()
- Specified by:
getInputsin interfaceorg.kie.dmn.api.core.DMNModel
-
addDecision
public void addDecision(org.kie.dmn.api.core.ast.DecisionNode dn)
-
getDecisionById
public org.kie.dmn.api.core.ast.DecisionNode getDecisionById(java.lang.String id)
- Specified by:
getDecisionByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getDecisionByName
public org.kie.dmn.api.core.ast.DecisionNode getDecisionByName(java.lang.String name)
- Specified by:
getDecisionByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getDecisions
public java.util.Set<org.kie.dmn.api.core.ast.DecisionNode> getDecisions()
- Specified by:
getDecisionsin interfaceorg.kie.dmn.api.core.DMNModel
-
getRequiredInputsForDecisionName
public java.util.Set<org.kie.dmn.api.core.ast.InputDataNode> getRequiredInputsForDecisionName(java.lang.String decisionName)
- Specified by:
getRequiredInputsForDecisionNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getRequiredInputsForDecisionId
public java.util.Set<org.kie.dmn.api.core.ast.InputDataNode> getRequiredInputsForDecisionId(java.lang.String decisionId)
- Specified by:
getRequiredInputsForDecisionIdin interfaceorg.kie.dmn.api.core.DMNModel
-
addDecisionService
public void addDecisionService(org.kie.dmn.api.core.ast.DecisionServiceNode dsn)
-
getDecisionServiceById
public org.kie.dmn.api.core.ast.DecisionServiceNode getDecisionServiceById(java.lang.String id)
-
getDecisionServiceByName
public org.kie.dmn.api.core.ast.DecisionServiceNode getDecisionServiceByName(java.lang.String name)
-
getDecisionServices
public java.util.Collection<org.kie.dmn.api.core.ast.DecisionServiceNode> getDecisionServices()
- Specified by:
getDecisionServicesin interfaceorg.kie.dmn.api.core.DMNModel
-
addBusinessKnowledgeModel
public void addBusinessKnowledgeModel(org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode bkm)
-
getBusinessKnowledgeModelById
public org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode getBusinessKnowledgeModelById(java.lang.String id)
- Specified by:
getBusinessKnowledgeModelByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getBusinessKnowledgeModelByName
public org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode getBusinessKnowledgeModelByName(java.lang.String name)
- Specified by:
getBusinessKnowledgeModelByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getBusinessKnowledgeModels
public java.util.Set<org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode> getBusinessKnowledgeModels()
- Specified by:
getBusinessKnowledgeModelsin interfaceorg.kie.dmn.api.core.DMNModel
-
addItemDefinition
public void addItemDefinition(org.kie.dmn.api.core.ast.ItemDefNode idn)
-
getItemDefinitionById
public org.kie.dmn.api.core.ast.ItemDefNode getItemDefinitionById(java.lang.String id)
- Specified by:
getItemDefinitionByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getItemDefinitionByName
public org.kie.dmn.api.core.ast.ItemDefNode getItemDefinitionByName(java.lang.String name)
- Specified by:
getItemDefinitionByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getItemDefinitions
public java.util.Set<org.kie.dmn.api.core.ast.ItemDefNode> getItemDefinitions()
- Specified by:
getItemDefinitionsin interfaceorg.kie.dmn.api.core.DMNModel
-
getMessages
public java.util.List<org.kie.dmn.api.core.DMNMessage> getMessages()
- Specified by:
getMessagesin interfaceorg.kie.dmn.api.core.DMNMessageContainer
-
getMessages
public java.util.List<org.kie.dmn.api.core.DMNMessage> getMessages(org.kie.dmn.api.core.DMNMessage.Severity... sevs)
- Specified by:
getMessagesin interfaceorg.kie.dmn.api.core.DMNMessageContainer
-
hasErrors
public boolean hasErrors()
- Specified by:
hasErrorsin interfaceorg.kie.dmn.api.core.DMNMessageContainer
-
addAll
public void addAll(java.util.List<? extends org.kie.dmn.api.core.DMNMessage> messages)
- Specified by:
addAllin interfaceDMNMessageManager
-
addMessage
public org.kie.dmn.api.core.DMNMessage addMessage(org.kie.dmn.api.core.DMNMessage msg)
- Specified by:
addMessagein interfaceDMNMessageManager
-
addMessage
public org.kie.dmn.api.core.DMNMessage addMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, java.lang.String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source)- Specified by:
addMessagein interfaceDMNMessageManager
-
addMessage
public org.kie.dmn.api.core.DMNMessage addMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, java.lang.String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source, java.lang.Throwable exception)- Specified by:
addMessagein interfaceDMNMessageManager
-
addMessage
public org.kie.dmn.api.core.DMNMessage addMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, java.lang.String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source, org.kie.dmn.api.feel.runtime.events.FEELEvent feelEvent)- Specified by:
addMessagein interfaceDMNMessageManager
-
removeDMNNodeFromIndexes
public boolean removeDMNNodeFromIndexes(org.kie.dmn.api.core.ast.DMNNode node)
-
setResource
public void setResource(org.kie.api.io.Resource resource)
-
getResource
public org.kie.api.io.Resource getResource()
- Specified by:
getResourcein interfaceorg.kie.dmn.api.core.DMNModel
-
isRuntimeTypeCheck
public boolean isRuntimeTypeCheck()
- Returns:
- a compile-time preference to indicate if type-check should be performed during runtime evaluation.
-
setRuntimeTypeCheck
public void setRuntimeTypeCheck(boolean runtimeTypeCheck)
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
setImportAliasForNS
public void setImportAliasForNS(java.lang.String iAlias, java.lang.String iNS, java.lang.String iModelName)
-
getImportAliasesForNS
public java.util.Map<java.lang.String,javax.xml.namespace.QName> getImportAliasesForNS()
-
getImportAliasFor
public java.util.Optional<java.lang.String> getImportAliasFor(java.lang.String ns, java.lang.String iModelName)
-
getImportNamespaceAndNameforAlias
public javax.xml.namespace.QName getImportNamespaceAndNameforAlias(java.lang.String iAlias)
-
addImportChainChild
public void addImportChainChild(org.kie.dmn.core.impl.DMNModelImpl.ImportChain child, java.lang.String alias)
-
getImportChain
public org.kie.dmn.core.impl.DMNModelImpl.ImportChain getImportChain()
-
getImportChainAliases
public java.util.Map<java.lang.String,java.util.Collection<java.util.List<java.lang.String>>> getImportChainAliases()
-
getImportChainDirectChildModels
public java.util.List<org.kie.dmn.api.core.DMNModel> getImportChainDirectChildModels()
-
addAllUnfiltered
public void addAllUnfiltered(java.util.List<? extends org.kie.dmn.api.core.DMNMessage> messages)
Description copied from interface:DMNMessageManagerInternal utility method.- Specified by:
addAllUnfilteredin interfaceDMNMessageManager
-
addPMMLImportInfo
public void addPMMLImportInfo(DMNImportPMMLInfo info)
-
getPmmlImportInfo
public java.util.Map<java.lang.String,DMNImportPMMLInfo> getPmmlImportInfo()
-
-