Package org.kie.dmn.core.impl
Class DMNModelImpl
- java.lang.Object
-
- org.kie.dmn.core.impl.DMNModelImpl
-
- All Implemented Interfaces:
Externalizable,Serializable,org.kie.dmn.api.core.DMNMessageContainer,org.kie.dmn.api.core.DMNModel,DMNMessageManager
public class DMNModelImpl extends Object implements org.kie.dmn.api.core.DMNModel, DMNMessageManager, 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(List<? extends org.kie.dmn.api.core.DMNMessage> messages)voidaddAllUnfiltered(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, 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, 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, String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source, Throwable exception)org.kie.dmn.api.core.DMNMessageaddMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, 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(String id)org.kie.dmn.api.core.ast.BusinessKnowledgeModelNodegetBusinessKnowledgeModelByName(String name)Set<org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode>getBusinessKnowledgeModels()org.kie.dmn.api.core.ast.DecisionNodegetDecisionById(String id)org.kie.dmn.api.core.ast.DecisionNodegetDecisionByName(String name)Set<org.kie.dmn.api.core.ast.DecisionNode>getDecisions()org.kie.dmn.api.core.ast.DecisionServiceNodegetDecisionServiceById(String id)org.kie.dmn.api.core.ast.DecisionServiceNodegetDecisionServiceByName(String name)Collection<org.kie.dmn.api.core.ast.DecisionServiceNode>getDecisionServices()org.kie.dmn.model.api.DefinitionsgetDefinitions()Map<String,QName>getImportAliasesForNS()Optional<String>getImportAliasFor(String ns, String iModelName)org.kie.dmn.core.impl.DMNModelImpl.ImportChaingetImportChain()Map<String,Collection<List<String>>>getImportChainAliases()List<org.kie.dmn.api.core.DMNModel>getImportChainDirectChildModels()QNamegetImportNamespaceAndNameforAlias(String iAlias)org.kie.dmn.api.core.ast.InputDataNodegetInputById(String id)org.kie.dmn.api.core.ast.InputDataNodegetInputByName(String name)Set<org.kie.dmn.api.core.ast.InputDataNode>getInputs()org.kie.dmn.api.core.ast.ItemDefNodegetItemDefinitionById(String id)org.kie.dmn.api.core.ast.ItemDefNodegetItemDefinitionByName(String name)Set<org.kie.dmn.api.core.ast.ItemDefNode>getItemDefinitions()List<org.kie.dmn.api.core.DMNMessage>getMessages()List<org.kie.dmn.api.core.DMNMessage>getMessages(org.kie.dmn.api.core.DMNMessage.Severity... sevs)StringgetName()StringgetNamespace()Map<String,DMNImportPMMLInfo>getPmmlImportInfo()Set<org.kie.dmn.api.core.ast.InputDataNode>getRequiredInputsForDecisionId(String decisionId)Set<org.kie.dmn.api.core.ast.InputDataNode>getRequiredInputsForDecisionName(String decisionName)org.kie.api.io.ResourcegetResource()DMNTypeRegistrygetTypeRegistry()booleanhasErrors()booleanisRuntimeTypeCheck()StringnameInCurrentModel(org.kie.dmn.api.core.ast.DMNNode node)Given a DMNNode, compute the proper name of the node, considering DMN-Imports.voidreadExternal(ObjectInput in)booleanremoveDMNNodeFromIndexes(org.kie.dmn.api.core.ast.DMNNode node)voidsetDefinitions(org.kie.dmn.model.api.Definitions definitions)voidsetImportAliasForNS(String iAlias, String iNS, String iModelName)voidsetResource(org.kie.api.io.Resource resource)voidsetRuntimeTypeCheck(boolean runtimeTypeCheck)voidwriteExternal(ObjectOutput out)
-
-
-
Method Detail
-
getTypeRegistry
public DMNTypeRegistry getTypeRegistry()
-
getNamespace
public String getNamespace()
- Specified by:
getNamespacein interfaceorg.kie.dmn.api.core.DMNModel
-
getName
public 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 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(String id)
- Specified by:
getInputByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getInputByName
public org.kie.dmn.api.core.ast.InputDataNode getInputByName(String name)
- Specified by:
getInputByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getInputs
public 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(String id)
- Specified by:
getDecisionByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getDecisionByName
public org.kie.dmn.api.core.ast.DecisionNode getDecisionByName(String name)
- Specified by:
getDecisionByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getDecisions
public Set<org.kie.dmn.api.core.ast.DecisionNode> getDecisions()
- Specified by:
getDecisionsin interfaceorg.kie.dmn.api.core.DMNModel
-
getRequiredInputsForDecisionName
public Set<org.kie.dmn.api.core.ast.InputDataNode> getRequiredInputsForDecisionName(String decisionName)
- Specified by:
getRequiredInputsForDecisionNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getRequiredInputsForDecisionId
public Set<org.kie.dmn.api.core.ast.InputDataNode> getRequiredInputsForDecisionId(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(String id)
-
getDecisionServiceByName
public org.kie.dmn.api.core.ast.DecisionServiceNode getDecisionServiceByName(String name)
-
getDecisionServices
public 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(String id)
- Specified by:
getBusinessKnowledgeModelByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getBusinessKnowledgeModelByName
public org.kie.dmn.api.core.ast.BusinessKnowledgeModelNode getBusinessKnowledgeModelByName(String name)
- Specified by:
getBusinessKnowledgeModelByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getBusinessKnowledgeModels
public 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(String id)
- Specified by:
getItemDefinitionByIdin interfaceorg.kie.dmn.api.core.DMNModel
-
getItemDefinitionByName
public org.kie.dmn.api.core.ast.ItemDefNode getItemDefinitionByName(String name)
- Specified by:
getItemDefinitionByNamein interfaceorg.kie.dmn.api.core.DMNModel
-
getItemDefinitions
public Set<org.kie.dmn.api.core.ast.ItemDefNode> getItemDefinitions()
- Specified by:
getItemDefinitionsin interfaceorg.kie.dmn.api.core.DMNModel
-
getMessages
public List<org.kie.dmn.api.core.DMNMessage> getMessages()
- Specified by:
getMessagesin interfaceorg.kie.dmn.api.core.DMNMessageContainer
-
getMessages
public 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(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, 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, String message, org.kie.dmn.api.core.DMNMessageType messageType, org.kie.dmn.model.api.DMNModelInstrumentedBase source, Throwable exception)- Specified by:
addMessagein interfaceDMNMessageManager
-
addMessage
public org.kie.dmn.api.core.DMNMessage addMessage(org.kie.dmn.api.core.DMNMessage.Severity severity, 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(ObjectOutput out) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
addImportChainChild
public void addImportChainChild(org.kie.dmn.core.impl.DMNModelImpl.ImportChain child, String alias)
-
getImportChain
public org.kie.dmn.core.impl.DMNModelImpl.ImportChain getImportChain()
-
getImportChainAliases
public Map<String,Collection<List<String>>> getImportChainAliases()
-
getImportChainDirectChildModels
public List<org.kie.dmn.api.core.DMNModel> getImportChainDirectChildModels()
-
addAllUnfiltered
public void addAllUnfiltered(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 Map<String,DMNImportPMMLInfo> getPmmlImportInfo()
-
-