Class SectionNodeImpl
- java.lang.Object
-
- net.officefloor.compile.impl.structure.SectionNodeImpl
-
- All Implemented Interfaces:
ManagedFunctionRegistry
,ManagedObjectRegistry
,Node
,SectionNode
,SourceIssues
,PropertyConfigurable
,OfficeSection
,OfficeSectionTransformerContext
,OfficeSubSection
,SectionDesigner
,SubSection
public class SectionNodeImpl extends java.lang.Object implements SectionNode
SectionNode
implementation.- Author:
- Daniel Sagenschneider
-
-
Field Summary
-
Fields inherited from interface net.officefloor.compile.internal.structure.SectionNode
TYPE
-
-
Constructor Summary
Constructors Constructor Description SectionNodeImpl(boolean isSectionNamed, java.lang.String sectionName, SectionNode parentSection, OfficeNode office, NodeContext context)
Initialises thisSectionNode
with the basic information.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addGovernance(OfficeGovernance governance)
AddsGovernance
for thisOfficeSubSection
.CompileError
addIssue(java.lang.String issueDescription)
Allows the source to add an issue.CompileError
addIssue(java.lang.String issueDescription, java.lang.Throwable cause)
Allows the source to add an issue along with its cause.ManagedFunctionNode
addManagedFunctionNode(java.lang.String functionName, java.lang.String functionTypeName, FunctionNamespaceNode namespaceNode)
Adds an initialisedManagedFunctionNode
to the registry.ManagedObjectNode
addManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)
Adds an initialisedManagedObjectNode
to the registry.SectionManagedObjectPool
addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Adds anSectionManagedObjectPool
.SectionManagedObjectPool
addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Adds aSectionManagedObjectPool
.void
addProperty(java.lang.String name, java.lang.String value)
Adds aProperty
to configure the item.SectionFunctionNamespace
addSectionFunctionNamespace(java.lang.String namespaceName, java.lang.String managedFunctionSourceClassName)
Adds aSectionFunctionNamespace
to theSectionNode
being built.SectionFunctionNamespace
addSectionFunctionNamespace(java.lang.String namespaceName, ManagedFunctionSource managedFunctionSource)
Adds aSectionFunctionNamespace
to theSectionNode
being built.SectionInput
addSectionInput(java.lang.String inputName, java.lang.String parameterType)
Adds aSectionInput
to theSectionNode
being built.SectionManagedObjectSource
addSectionManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Adds aSectionManagedObjectSource
to theSectionNode
being built.SectionManagedObjectSource
addSectionManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Adds aSectionManagedObjectSource
to theSectionNode
being built.SectionObject
addSectionObject(java.lang.String objectName, java.lang.String objectType)
Adds aSectionObject
to theSectionNode
being built.SectionOutput
addSectionOutput(java.lang.String outputName, java.lang.String argumentType, boolean isEscalationOnly)
Adds aSectionOutput
to theSectionNode
being built.SubSection
addSubSection(java.lang.String subSectionName, java.lang.String sectionSourceClassName, java.lang.String location)
Adds aSubSection
to theSectionNode
being built.SubSection
addSubSection(java.lang.String subSectionName, SectionSource sectionSource, java.lang.String location)
Adds aSubSection
to theSectionNode
being built.void
autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionObjectNode
instances that are unlinked.void
autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Auto-wires theSectionFunction
instances to a possible responsibleTeam
.void
buildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)
Builds thisOfficeSection
for thisSectionNode
.PropertyList
createPropertyList()
Creates a newPropertyList
.Node[]
getChildNodes()
Obtains the childNode
instances.DeployedOfficeInput
getDeployedOfficeInput(java.lang.String inputName)
Obtains theDeployedOfficeInput
.GovernanceNode[]
getGoverningGovernances()
java.lang.String
getLocation()
Obtains the location of theNode
.ManagedObjectNode
getManagedObjectNode(java.lang.String managedObjectName)
Obtains theManagedObjectNode
from the registry.java.lang.String
getNodeName()
Obtains the name of theNode
.java.lang.String
getNodeType()
Obtains theNode
type.OfficeNode
getOfficeNode()
Obtains theOfficeNode
containing thisSectionNode
.OfficeSectionFunction
getOfficeSectionFunction(java.lang.String functionName)
Obtains theOfficeSectionFunction
instance particular to thisOfficeSubSection
.OfficeSectionInput
getOfficeSectionInput(java.lang.String inputName)
Obtains theOfficeSectionInput
.OfficeSectionManagedObject
getOfficeSectionManagedObject(java.lang.String managedObjectName)
Obtains theOfficeSectionManagedObject
particular to thisOfficeSubSection
.OfficeSectionManagedObjectSource
getOfficeSectionManagedObjectSource(java.lang.String managedObjectSourceName)
Obtains theOfficeSectionManagedObjectSource
particular to thisOfficeSubSection
.java.lang.String
getOfficeSectionName()
Obtains the name of theOfficeSection
.OfficeSectionObject
getOfficeSectionObject(java.lang.String objectName)
Obtains theOfficeSectionObject
.OfficeSectionOutput
getOfficeSectionOutput(java.lang.String outputName)
Obtains theOfficeSectionOutput
.OfficeSubSection
getOfficeSubSection(java.lang.String sectionName)
Obtains theOfficeSubSection
.Node
getParentNode()
SectionNode
getParentSectionNode()
Obtains the parentSectionNode
containing thisSectionNode
.java.lang.String
getQualifiedName()
Obtains the qualified name of theNode
.java.lang.String
getSectionLocation()
Obtains the location of theOfficeSection
being transformed.SectionOutputNode
getSectionOutputNode(java.lang.String outputName)
Obtains the possibleSectionOutputNode
.PropertyList
getSectionProperties()
Obtains thePropertyList
of theOfficeSection
being transformed.java.lang.String
getSectionQualifiedName(java.lang.String simpleName)
Obtains theSectionNode
qualified name within theOfficeNode
.java.lang.String
getSectionSourceClassName()
SubSectionInput
getSubSectionInput(java.lang.String inputName)
Obtains theSubSectionInput
.java.lang.String
getSubSectionName()
Obtains the name of thisSubSection
.SubSectionObject
getSubSectionObject(java.lang.String objectName)
Obtains theSubSectionObject
.SubSectionOutput
getSubSectionOutput(java.lang.String outputName)
Obtains theSubSectionOutput
.SectionNode
getSuperSection()
Obtains the parentSectionNode
to thisSectionNode
.void
initialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)
Initialises thisSectionNode
.boolean
isInitialised()
Indicates if theNode
has been initialised.void
link(FunctionFlow functionFlow, SectionFlowSinkNode sectionSinkNode, boolean isSpawnThreadState)
Links theFunctionFlow
to be undertaken by theSectionFlowSinkNode
.void
link(SectionDependencyRequireNode dependencyRequireNode, SectionDependencyObjectNode dependencyObjectNode)
Links theSectionDependencyRequireNode
to be fulfilled by theSectionDependencyObjectNode
.void
link(SectionFlowSourceNode flowSourceNode, SectionFlowSinkNode flowSinkNode)
Links theSectionFlowSourceNode
to undertaken by theSectionFlowSinkNode
.void
link(SectionManagedObjectSource managedObjectSource, SectionManagedObjectPool managedObjectPool)
Links theSectionManagedObjectSource
to be pooled by theSectionManagedObjectPool
.void
loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Loads theAutoWire
extension targets for theOfficeSectionManagedObject
extension targets..void
loadExternalServicing(Office office)
Loads theFunctionManager
instances to externally trigger thisSectionNode
.void
loadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)
Loads theManagedFunctionNode
instances.OfficeAvailableSectionInputType[]
loadOfficeAvailableSectionInputTypes(CompileContext compileContext)
Loads theOfficeAvailableSectionInputType
instances.OfficeSectionType
loadOfficeSectionType(CompileContext compileContext)
Loads theOfficeSectionType
.OfficeSectionType
loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)
Loads theOfficeSubSectionType
.SectionType
loadSectionType(CompileContext compileContext)
Loads theSectionType
.boolean
runExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)
Runs theExecutionExplorer
instances.void
setSuperOfficeSection(OfficeSection superSection)
Specifies anOfficeSection
that thisOfficeSection
will inherit its links from.void
setTransformedOfficeSection(java.lang.String sectionSourceClassName, java.lang.String sectionLocation, PropertyList sectionProperties)
Specifies the transformedOfficeSection
.void
setTransformedOfficeSection(SectionSource sectionSource, java.lang.String sectionLocation, PropertyList sectionProperties)
Specifies the transformedOfficeSection
.boolean
sourceInheritance(CompileContext compileContext)
Sources the inheritance of theSectionNode
.boolean
sourceSection(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources the section into thisSectionNode
.boolean
sourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Sources thisSectionNode
and all its descendantNode
instances recursively.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.officefloor.compile.internal.structure.Node
getQualifiedName
-
-
-
-
Constructor Detail
-
SectionNodeImpl
public SectionNodeImpl(boolean isSectionNamed, java.lang.String sectionName, SectionNode parentSection, OfficeNode office, NodeContext context)
Initialises thisSectionNode
with the basic information.- Parameters:
isSectionNamed
- Indicates if named.sectionName
- Name of thisOfficeSection
.parentSection
- Optional parentSectionNode
. May benull
.office
-Office
containing theOfficeSection
.context
-NodeContext
.
-
-
Method Detail
-
getNodeName
public java.lang.String getNodeName()
Description copied from interface:Node
Obtains the name of theNode
.- Specified by:
getNodeName
in interfaceNode
- Returns:
- Name of the
Node
.
-
getQualifiedName
public java.lang.String getQualifiedName()
Description copied from interface:Node
Obtains the qualified name of theNode
.- Specified by:
getQualifiedName
in interfaceNode
- Returns:
- Qualified name of the
Node
.
-
getNodeType
public java.lang.String getNodeType()
Description copied from interface:Node
Obtains theNode
type.- Specified by:
getNodeType
in interfaceNode
- Returns:
Node
type.
-
getLocation
public java.lang.String getLocation()
Description copied from interface:Node
Obtains the location of theNode
.- Specified by:
getLocation
in interfaceNode
- Returns:
- Location of the
Node
. May benull
ifNode
does not support a location.
-
getParentNode
public Node getParentNode()
Description copied from interface:Node
- Specified by:
getParentNode
in interfaceNode
- Returns:
Node
containing thisNode
.
-
getChildNodes
public Node[] getChildNodes()
Description copied from interface:Node
Obtains the childNode
instances.- Specified by:
getChildNodes
in interfaceNode
- Returns:
- Child
Node
instances.
-
isInitialised
public boolean isInitialised()
Description copied from interface:Node
Indicates if theNode
has been initialised.Node
instances should only be initialised once. Initialising theNode
twice is an issue.- Specified by:
isInitialised
in interfaceNode
- Returns:
true
if initialised.
-
initialise
public void initialise(java.lang.String sectionSourceClassName, SectionSource sectionSource, java.lang.String sectionLocation)
Description copied from interface:SectionNode
Initialises thisSectionNode
.- Specified by:
initialise
in interfaceSectionNode
- Parameters:
sectionSourceClassName
-SectionSource
class name.sectionSource
- Optional instantiatedSectionSource
. May benull
.sectionLocation
- Location of theOfficeSection
.
-
addManagedFunctionNode
public ManagedFunctionNode addManagedFunctionNode(java.lang.String functionName, java.lang.String functionTypeName, FunctionNamespaceNode namespaceNode)
Description copied from interface:ManagedFunctionRegistry
Adds an initialised
ManagedFunctionNode
to the registry.Should an
ManagedFunctionNode
already be added by the name, then an issue is reported to theCompilerIssue
.- Specified by:
addManagedFunctionNode
in interfaceManagedFunctionRegistry
- Parameters:
functionName
- Name of theManagedFunctionNode
.functionTypeName
- Type name of theManagedFunction
within theManagedFunctionSource
.namespaceNode
- ParentFunctionNamespaceNode
.- Returns:
- Initialised
ManagedFunctionNode
by the name.
-
getManagedObjectNode
public ManagedObjectNode getManagedObjectNode(java.lang.String managedObjectName)
Description copied from interface:ManagedObjectRegistry
Obtains the
ManagedObjectNode
from the registry.The returned
ManagedObjectNode
may or may not be initialised.- Specified by:
getManagedObjectNode
in interfaceManagedObjectRegistry
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.- Returns:
ManagedObjectNode
from the registry.
-
addManagedObjectNode
public ManagedObjectNode addManagedObjectNode(java.lang.String managedObjectName, ManagedObjectScope managedObjectScope, ManagedObjectSourceNode managedObjectSourceNode)
Description copied from interface:ManagedObjectRegistry
Adds an initialised
ManagedObjectNode
to the registry.Should an
ManagedObjectNode
already be added by the name, then an issue is reported to theCompilerIssue
.- Specified by:
addManagedObjectNode
in interfaceManagedObjectRegistry
- Parameters:
managedObjectName
- Name of theManagedObjectNode
.managedObjectScope
-ManagedObjectScope
.managedObjectSourceNode
-ManagedObjectSourceNode
for theManagedObjectNode
.- Returns:
- Initialised
ManagedObjectNode
by the name.
-
sourceSection
public boolean sourceSection(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Description copied from interface:SectionNode
Sources the section into this
SectionNode
.This will only source the top level
OfficeSection
.- Specified by:
sourceSection
in interfaceSectionNode
- Parameters:
managedFunctionVisitor
-ManagedFunctionVisitor
.managedObjectSourceVisitor
-ManagedObjectSourceVisitor
.compileContext
-CompileContext
.isLoadingType
- Indicates if used for loading type.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
sourceSectionTree
public boolean sourceSectionTree(ManagedFunctionVisitor managedFunctionVisitor, ManagedObjectSourceVisitor managedObjectSourceVisitor, CompileContext compileContext, boolean isLoadingType)
Description copied from interface:SectionNode
Sources thisSectionNode
and all its descendantNode
instances recursively.- Specified by:
sourceSectionTree
in interfaceSectionNode
- Parameters:
managedFunctionVisitor
-ManagedFunctionVisitor
.managedObjectSourceVisitor
-ManagedObjectSourceVisitor
.compileContext
-CompileContext
.isLoadingType
- Indicates if used for loading type.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
sourceInheritance
public boolean sourceInheritance(CompileContext compileContext)
Description copied from interface:SectionNode
Sources the inheritance of theSectionNode
.- Specified by:
sourceInheritance
in interfaceSectionNode
- Parameters:
compileContext
-CompileContext
.- Returns:
true
if successfully sourced. Otherwisefalse
with issue reported to theCompilerIssues
.
-
getSuperSection
public SectionNode getSuperSection()
Description copied from interface:SectionNode
Obtains the parentSectionNode
to thisSectionNode
.- Specified by:
getSuperSection
in interfaceSectionNode
- Returns:
- Parent
SectionNode
to thisSectionNode
.
-
getSectionOutputNode
public SectionOutputNode getSectionOutputNode(java.lang.String outputName)
Description copied from interface:SectionNode
Obtains the possibleSectionOutputNode
.- Specified by:
getSectionOutputNode
in interfaceSectionNode
- Parameters:
outputName
- Name of theSectionOutputNode
.- Returns:
SectionOutputNode
ornull
if noSectionOutputNode
by name on theSectionNode
.
-
loadSectionType
public SectionType loadSectionType(CompileContext compileContext)
Description copied from interface:SectionNode
Loads theSectionType
.- Specified by:
loadSectionType
in interfaceSectionNode
- Parameters:
compileContext
-CompileContext
.- Returns:
SectionType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
loadOfficeSectionType
public OfficeSectionType loadOfficeSectionType(CompileContext compileContext)
Description copied from interface:SectionNode
Loads theOfficeSectionType
.- Specified by:
loadOfficeSectionType
in interfaceSectionNode
- Parameters:
compileContext
-CompileContext
.- Returns:
OfficeSectionType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
loadOfficeSubSectionType
public OfficeSectionType loadOfficeSubSectionType(OfficeSubSectionType parentSectionType, CompileContext compileContext)
Description copied from interface:SectionNode
Loads theOfficeSubSectionType
.- Specified by:
loadOfficeSubSectionType
in interfaceSectionNode
- Parameters:
parentSectionType
- ParentOfficeSubSectionType
.compileContext
-CompileContext
.- Returns:
OfficeSubSectionType
ornull
if issue loading with issue reported to theCompilerIssues
.
-
loadOfficeAvailableSectionInputTypes
public OfficeAvailableSectionInputType[] loadOfficeAvailableSectionInputTypes(CompileContext compileContext)
Description copied from interface:SectionNode
Loads theOfficeAvailableSectionInputType
instances.- Specified by:
loadOfficeAvailableSectionInputTypes
in interfaceSectionNode
- Parameters:
compileContext
-CompileContext
.- Returns:
OfficeAvailableSectionInputType
instances ornull
with issues reported to theCompilerIssues
.
-
getGoverningGovernances
public GovernanceNode[] getGoverningGovernances()
Description copied from interface:SectionNode
Obtains the
GovernanceNode
instances providingGovernance
over thisSectionNode
.This is list comprised of the:
GovernanceNode
assigned to this particularSectionNode
GovernanceNode
assigned to any parentSectionNode
- Specified by:
getGoverningGovernances
in interfaceSectionNode
- Returns:
GovernanceNode
instances providingGovernance
over thisSectionNode
.
-
getSectionQualifiedName
public java.lang.String getSectionQualifiedName(java.lang.String simpleName)
Description copied from interface:SectionNode
Obtains theSectionNode
qualified name within theOfficeNode
.- Specified by:
getSectionQualifiedName
in interfaceSectionNode
- Parameters:
simpleName
- Simple name to qualify with theSectionNode
name space.- Returns:
SectionNode
qualified name.
-
loadAutoWireExtensionTargets
public void loadAutoWireExtensionTargets(AutoWirer<ManagedObjectExtensionNode> autoWirer, CompileContext compileContext)
Description copied from interface:SectionNode
Loads theAutoWire
extension targets for theOfficeSectionManagedObject
extension targets..- Specified by:
loadAutoWireExtensionTargets
in interfaceSectionNode
- Parameters:
autoWirer
-AutoWirer
to be loaded with theOfficeSectionManagedObject
extension targets.compileContext
-CompileContext
.
-
autoWireObjects
public void autoWireObjects(AutoWirer<LinkObjectNode> autoWirer, CompileContext compileContext)
Description copied from interface:SectionNode
Auto-wires theSectionObjectNode
instances that are unlinked.- Specified by:
autoWireObjects
in interfaceSectionNode
- Parameters:
autoWirer
-AutoWirer
.compileContext
-CompileContext
.
-
autoWireTeams
public void autoWireTeams(AutoWirer<LinkTeamNode> autoWirer, CompileContext compileContext)
Description copied from interface:SectionNode
Auto-wires theSectionFunction
instances to a possible responsibleTeam
.- Specified by:
autoWireTeams
in interfaceSectionNode
- Parameters:
autoWirer
-AutoWirer
.compileContext
-CompileContext
.
-
loadManagedFunctionNodes
public void loadManagedFunctionNodes(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctionNodes)
Description copied from interface:SectionNode
Loads theManagedFunctionNode
instances.- Specified by:
loadManagedFunctionNodes
in interfaceSectionNode
- Parameters:
managedFunctionNodes
-Map
to be loaded with theManagedFunctionNode
instances by their qualified name.
-
runExecutionExplorers
public boolean runExecutionExplorers(java.util.Map<java.lang.String,ManagedFunctionNode> managedFunctions, CompileContext compileContext)
Description copied from interface:SectionNode
Runs theExecutionExplorer
instances.- Specified by:
runExecutionExplorers
in interfaceSectionNode
- Parameters:
managedFunctions
-ManagedFunctionNode
instances by their qualified name.compileContext
-CompileContext
.- Returns:
true
if successfully explored execution.
-
buildSection
public void buildSection(OfficeBuilder officeBuilder, OfficeBindings officeBindings, CompileContext compileContext)
Description copied from interface:SectionNode
Builds thisOfficeSection
for thisSectionNode
.- Specified by:
buildSection
in interfaceSectionNode
- Parameters:
officeBuilder
-OfficeBuilder
of theOffice
containing thisSectionNode
.officeBindings
-OfficeBindings
of theOffice
containing thisSectionNode
.compileContext
-CompileContext
.
-
loadExternalServicing
public void loadExternalServicing(Office office) throws UnknownFunctionException
Description copied from interface:SectionNode
Loads theFunctionManager
instances to externally trigger thisSectionNode
.- Specified by:
loadExternalServicing
in interfaceSectionNode
- Parameters:
office
-Office
containing thisSectionNode
.- Throws:
UnknownFunctionException
-UnknownFunctionException
.
-
getParentSectionNode
public SectionNode getParentSectionNode()
Description copied from interface:SectionNode
Obtains the parentSectionNode
containing thisSectionNode
.- Specified by:
getParentSectionNode
in interfaceSectionNode
- Returns:
- Parent
SectionNode
ornull
if thisSectionNode
is the top levelSectionNode
(in other words aOfficeSection
).
-
getOfficeNode
public OfficeNode getOfficeNode()
Description copied from interface:SectionNode
Obtains theOfficeNode
containing thisSectionNode
.- Specified by:
getOfficeNode
in interfaceSectionNode
- Returns:
OfficeNode
containing thisSectionNode
.
-
getDeployedOfficeInput
public DeployedOfficeInput getDeployedOfficeInput(java.lang.String inputName)
Description copied from interface:SectionNode
Obtains theDeployedOfficeInput
.- Specified by:
getDeployedOfficeInput
in interfaceSectionNode
- Parameters:
inputName
- Input name as per theOfficeAvailableSectionInputType
.- Returns:
DeployedOfficeInput
.
-
getSubSectionName
public java.lang.String getSubSectionName()
Description copied from interface:SubSection
Obtains the name of thisSubSection
.- Specified by:
getSubSectionName
in interfaceSubSection
- Returns:
- Name of this
SubSection
.
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)
Description copied from interface:PropertyConfigurable
Adds aProperty
to configure the item.- Specified by:
addProperty
in interfacePropertyConfigurable
- Parameters:
name
- Name ofProperty
.value
- Value ofProperty
.
-
getSubSectionInput
public SubSectionInput getSubSectionInput(java.lang.String inputName)
Description copied from interface:SubSection
Obtains theSubSectionInput
.- Specified by:
getSubSectionInput
in interfaceSubSection
- Parameters:
inputName
- Name of theSubSectionInput
to obtain.- Returns:
SubSectionInput
.
-
getSubSectionOutput
public SubSectionOutput getSubSectionOutput(java.lang.String outputName)
Description copied from interface:SubSection
Obtains theSubSectionOutput
.- Specified by:
getSubSectionOutput
in interfaceSubSection
- Parameters:
outputName
- Name of theSubSectionOutput
to obtain.- Returns:
SubSectionOutput
.
-
getSubSectionObject
public SubSectionObject getSubSectionObject(java.lang.String objectName)
Description copied from interface:SubSection
Obtains theSubSectionObject
.- Specified by:
getSubSectionObject
in interfaceSubSection
- Parameters:
objectName
- Name of theSubSectionObject
to obtain.- Returns:
SubSectionObject
.
-
addSectionInput
public SectionInput addSectionInput(java.lang.String inputName, java.lang.String parameterType)
Description copied from interface:SectionDesigner
Adds aSectionInput
to theSectionNode
being built.- Specified by:
addSectionInput
in interfaceSectionDesigner
- Parameters:
inputName
- Name of theSectionInput
.parameterType
- Parameter type for theSectionInputType
.- Returns:
SectionInput
for linking.
-
addSectionOutput
public SectionOutput addSectionOutput(java.lang.String outputName, java.lang.String argumentType, boolean isEscalationOnly)
Description copied from interface:SectionDesigner
Adds aSectionOutput
to theSectionNode
being built.- Specified by:
addSectionOutput
in interfaceSectionDesigner
- Parameters:
outputName
- Name of theSectionOutput
.argumentType
- Argument type for theSectionOutputType
.isEscalationOnly
-true
if onlyManagedFunctionEscalationType
instances are using theSectionOutputType
.- Returns:
SectionOutput
for linking.
-
addSectionObject
public SectionObject addSectionObject(java.lang.String objectName, java.lang.String objectType)
Description copied from interface:SectionDesigner
Adds aSectionObject
to theSectionNode
being built.- Specified by:
addSectionObject
in interfaceSectionDesigner
- Parameters:
objectName
- Name of theSectionObject
.objectType
- Type required for theSectionObjectType
.- Returns:
SectionObject
for linking.
-
addSectionManagedObjectSource
public SectionManagedObjectSource addSectionManagedObjectSource(java.lang.String managedObjectSourceName, java.lang.String managedObjectSourceClassName)
Description copied from interface:SectionDesigner
Adds aSectionManagedObjectSource
to theSectionNode
being built.- Specified by:
addSectionManagedObjectSource
in interfaceSectionDesigner
- Parameters:
managedObjectSourceName
- Name of theSectionManagedObjectSource
.managedObjectSourceClassName
- Fully qualified class name of theManagedObjectSource
. This allows adding theSectionManagedObject
without having to worry if theManagedObjectSource
is available on the class path.- Returns:
SectionManagedObject
.
-
addSectionManagedObjectSource
public SectionManagedObjectSource addSectionManagedObjectSource(java.lang.String managedObjectSourceName, ManagedObjectSource<?,?> managedObjectSource)
Description copied from interface:SectionDesigner
Adds aSectionManagedObjectSource
to theSectionNode
being built.- Specified by:
addSectionManagedObjectSource
in interfaceSectionDesigner
- Parameters:
managedObjectSourceName
- Name of theSectionManagedObjectSource
.managedObjectSource
-ManagedObjectSource
instance to use.- Returns:
SectionManagedObject
.
-
addManagedObjectPool
public SectionManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, java.lang.String managedObjectPoolSourceClassName)
Description copied from interface:SectionDesigner
Adds anSectionManagedObjectPool
.- Specified by:
addManagedObjectPool
in interfaceSectionDesigner
- Parameters:
managedObjectPoolName
- Name of theSectionManagedObjectPool
.managedObjectPoolSourceClassName
- Fully qualified class name of theManagedObjectPoolSource
.- Returns:
- Added
SectionManagedObjectPool
.
-
addManagedObjectPool
public SectionManagedObjectPool addManagedObjectPool(java.lang.String managedObjectPoolName, ManagedObjectPoolSource managedObjectPoolSource)
Description copied from interface:SectionDesigner
Adds aSectionManagedObjectPool
.- Specified by:
addManagedObjectPool
in interfaceSectionDesigner
- Parameters:
managedObjectPoolName
- Name of theSectionManagedObjectPool
.managedObjectPoolSource
-ManagedObjectPoolSource
instance to use.- Returns:
SectionManagedObjectPool
.
-
addSectionFunctionNamespace
public SectionFunctionNamespace addSectionFunctionNamespace(java.lang.String namespaceName, java.lang.String managedFunctionSourceClassName)
Description copied from interface:SectionDesigner
Adds aSectionFunctionNamespace
to theSectionNode
being built.- Specified by:
addSectionFunctionNamespace
in interfaceSectionDesigner
- Parameters:
namespaceName
- Name of theSectionFunctionNamespace
.managedFunctionSourceClassName
- Fully qualified class name of theManagedFunctionSource
. This allows adding theSectionFunctionNamespace
without having to worry if theManagedFunctionSource
is available on the class path.- Returns:
SectionFunctionNamespace
.
-
addSectionFunctionNamespace
public SectionFunctionNamespace addSectionFunctionNamespace(java.lang.String namespaceName, ManagedFunctionSource managedFunctionSource)
Description copied from interface:SectionDesigner
Adds aSectionFunctionNamespace
to theSectionNode
being built.- Specified by:
addSectionFunctionNamespace
in interfaceSectionDesigner
- Parameters:
namespaceName
- Name of theSectionFunctionNamespace
.managedFunctionSource
-ManagedFunctionSource
instance to use.- Returns:
SectionFunctionNamespace
.
-
addSubSection
public SubSection addSubSection(java.lang.String subSectionName, java.lang.String sectionSourceClassName, java.lang.String location)
Description copied from interface:SectionDesigner
Adds aSubSection
to theSectionNode
being built.- Specified by:
addSubSection
in interfaceSectionDesigner
- Parameters:
subSectionName
- Name of theSubSection
.sectionSourceClassName
- Fully qualified class name of theSectionSource
for theSubSection
. This allows adding theSubSection
without having to worry if theSectionSource
is available on the class path. This should be used over attempting to find theSectionSource
- as should leave to the compiler to find theSectionSource
.location
- Location of theSubSection
.- Returns:
SubSection
.
-
addSubSection
public SubSection addSubSection(java.lang.String subSectionName, SectionSource sectionSource, java.lang.String location)
Description copied from interface:SectionDesigner
Adds aSubSection
to theSectionNode
being built.- Specified by:
addSubSection
in interfaceSectionDesigner
- Parameters:
subSectionName
- Name of theSubSection
.sectionSource
-SectionSource
to enable providing direct instances. This should only be used should theSectionSource
want to create aSubSection
instance by supplying its own instantiatedSectionSource
implementation.location
- Location of theSubSection
.- Returns:
SubSection
.
-
link
public void link(SectionManagedObjectSource managedObjectSource, SectionManagedObjectPool managedObjectPool)
Description copied from interface:SectionDesigner
Links theSectionManagedObjectSource
to be pooled by theSectionManagedObjectPool
.- Specified by:
link
in interfaceSectionDesigner
- Parameters:
managedObjectSource
-SectionManagedObjectSource
.managedObjectPool
-SectionManagedObjectPool
.
-
link
public void link(SectionFlowSourceNode flowSourceNode, SectionFlowSinkNode flowSinkNode)
Description copied from interface:SectionDesigner
Links theSectionFlowSourceNode
to undertaken by theSectionFlowSinkNode
.- Specified by:
link
in interfaceSectionDesigner
- Parameters:
flowSourceNode
-SectionFlowSourceNode
.flowSinkNode
-SectionFlowSinkNode
.
-
link
public void link(FunctionFlow functionFlow, SectionFlowSinkNode sectionSinkNode, boolean isSpawnThreadState)
Description copied from interface:SectionDesigner
Links theFunctionFlow
to be undertaken by theSectionFlowSinkNode
.- Specified by:
link
in interfaceSectionDesigner
- Parameters:
functionFlow
-FunctionFlow
.sectionSinkNode
-SectionFlowSinkNode
.isSpawnThreadState
- Indicates if spawnsThreadState
forFlow
.
-
link
public void link(SectionDependencyRequireNode dependencyRequireNode, SectionDependencyObjectNode dependencyObjectNode)
Description copied from interface:SectionDesigner
Links theSectionDependencyRequireNode
to be fulfilled by theSectionDependencyObjectNode
.- Specified by:
link
in interfaceSectionDesigner
- Parameters:
dependencyRequireNode
-SectionDependencyRequireNode
.dependencyObjectNode
-SectionDependencyObjectNode
.
-
addIssue
public CompileError addIssue(java.lang.String issueDescription)
Description copied from interface:SourceIssues
Allows the source to add an issue.
This is available to report invalid configuration.
- Specified by:
addIssue
in interfaceSourceIssues
- Parameters:
issueDescription
- Description of the issue.- Returns:
CompileError
to be used inthrow
statement when addingCompilerIssue
to avoid further compiling.
-
addIssue
public CompileError addIssue(java.lang.String issueDescription, java.lang.Throwable cause)
Description copied from interface:SourceIssues
Allows the source to add an issue along with its cause.
This is available to report invalid configuration.
- Specified by:
addIssue
in interfaceSourceIssues
- Parameters:
issueDescription
- Description of the issue.cause
- Cause of the issue.- Returns:
CompileError
to be used inthrow
statement when addingCompilerIssue
to avoid further compiling.
-
getOfficeSectionName
public java.lang.String getOfficeSectionName()
Description copied from interface:OfficeSectionTransformerContext
Obtains the name of theOfficeSection
.- Specified by:
getOfficeSectionName
in interfaceOfficeSectionTransformerContext
- Specified by:
getOfficeSectionName
in interfaceOfficeSubSection
- Returns:
- Name of the
OfficeSection
.
-
getOfficeSectionInput
public OfficeSectionInput getOfficeSectionInput(java.lang.String inputName)
Description copied from interface:OfficeSection
Obtains theOfficeSectionInput
.- Specified by:
getOfficeSectionInput
in interfaceOfficeSection
- Parameters:
inputName
- Name of theOfficeSectionInput
to obtain.- Returns:
OfficeSectionInput
.
-
getOfficeSectionOutput
public OfficeSectionOutput getOfficeSectionOutput(java.lang.String outputName)
Description copied from interface:OfficeSection
Obtains theOfficeSectionOutput
.- Specified by:
getOfficeSectionOutput
in interfaceOfficeSection
- Parameters:
outputName
- Name of theOfficeSectionOutput
to obtain.- Returns:
OfficeSectionOutput
.
-
getOfficeSectionObject
public OfficeSectionObject getOfficeSectionObject(java.lang.String objectName)
Description copied from interface:OfficeSection
Obtains theOfficeSectionObject
.- Specified by:
getOfficeSectionObject
in interfaceOfficeSection
- Parameters:
objectName
- Name of theOfficeSectionObject
to obtain.- Returns:
OfficeSectionObject
.
-
setSuperOfficeSection
public void setSuperOfficeSection(OfficeSection superSection)
Description copied from interface:OfficeSection
Specifies an
OfficeSection
that thisOfficeSection
will inherit its links from.Typical example use would be creating an
OfficeSection
to render a web page. For headers and footers, the various links do not want to have to be configured for eachOfficeSection
page. This would clutter the graphical configuration. Hence the main page can configure these header and footer links, with all other pages inheriting the links from the main page.- Specified by:
setSuperOfficeSection
in interfaceOfficeSection
- Parameters:
superSection
- SuperOfficeSection
.
-
getOfficeSubSection
public OfficeSubSection getOfficeSubSection(java.lang.String sectionName)
Description copied from interface:OfficeSubSection
Obtains theOfficeSubSection
.- Specified by:
getOfficeSubSection
in interfaceOfficeSubSection
- Parameters:
sectionName
- Name of theOfficeSubSection
to obtain.- Returns:
OfficeSubSection
.
-
getOfficeSectionFunction
public OfficeSectionFunction getOfficeSectionFunction(java.lang.String functionName)
Description copied from interface:OfficeSubSection
Obtains theOfficeSectionFunction
instance particular to thisOfficeSubSection
.- Specified by:
getOfficeSectionFunction
in interfaceOfficeSubSection
- Parameters:
functionName
- Name of theOfficeSectionFunction
to obtain.- Returns:
OfficeSectionFunction
.
-
getOfficeSectionManagedObject
public OfficeSectionManagedObject getOfficeSectionManagedObject(java.lang.String managedObjectName)
Description copied from interface:OfficeSubSection
Obtains theOfficeSectionManagedObject
particular to thisOfficeSubSection
.- Specified by:
getOfficeSectionManagedObject
in interfaceOfficeSubSection
- Parameters:
managedObjectName
- Name of theOfficeSectionManagedObject
to obtain.- Returns:
OfficeSectionManagedObject
.
-
getOfficeSectionManagedObjectSource
public OfficeSectionManagedObjectSource getOfficeSectionManagedObjectSource(java.lang.String managedObjectSourceName)
Description copied from interface:OfficeSubSection
Obtains theOfficeSectionManagedObjectSource
particular to thisOfficeSubSection
.- Specified by:
getOfficeSectionManagedObjectSource
in interfaceOfficeSubSection
- Parameters:
managedObjectSourceName
- Name of theOfficeSectionManagedObjectSource
to obtain.- Returns:
OfficeSectionManagedObjectSource
.
-
addGovernance
public void addGovernance(OfficeGovernance governance)
Description copied from interface:OfficeSubSection
Adds
Governance
for thisOfficeSubSection
.This enables providing
Governance
over allOfficeSectionFunction
instances within theOfficeSubSection
and all its subsequentOfficeSubSection
instances.- Specified by:
addGovernance
in interfaceOfficeSubSection
- Parameters:
governance
-OfficeGovernance
.
-
getSectionSourceClassName
public java.lang.String getSectionSourceClassName()
Description copied from interface:OfficeSectionTransformerContext
- Specified by:
getSectionSourceClassName
in interfaceOfficeSectionTransformerContext
- Returns:
SectionSource
Class
name of theOfficeSection
being transformed.
-
getSectionLocation
public java.lang.String getSectionLocation()
Description copied from interface:OfficeSectionTransformerContext
Obtains the location of theOfficeSection
being transformed.- Specified by:
getSectionLocation
in interfaceOfficeSectionTransformerContext
- Returns:
- Location of the
OfficeSection
being transformed.
-
getSectionProperties
public PropertyList getSectionProperties()
Description copied from interface:OfficeSectionTransformerContext
Obtains thePropertyList
of theOfficeSection
being transformed.- Specified by:
getSectionProperties
in interfaceOfficeSectionTransformerContext
- Returns:
PropertyList
of theOfficeSection
being transformed.
-
createPropertyList
public PropertyList createPropertyList()
Description copied from interface:OfficeSectionTransformerContext
Creates a newPropertyList
.- Specified by:
createPropertyList
in interfaceOfficeSectionTransformerContext
- Returns:
- New
PropertyList
.
-
setTransformedOfficeSection
public void setTransformedOfficeSection(java.lang.String sectionSourceClassName, java.lang.String sectionLocation, PropertyList sectionProperties)
Description copied from interface:OfficeSectionTransformerContext
Specifies the transformedOfficeSection
.- Specified by:
setTransformedOfficeSection
in interfaceOfficeSectionTransformerContext
- Parameters:
sectionSourceClassName
-SectionSource
Class
name.sectionLocation
-SectionSource
location.sectionProperties
-OfficeSection
PropertyList
.
-
setTransformedOfficeSection
public void setTransformedOfficeSection(SectionSource sectionSource, java.lang.String sectionLocation, PropertyList sectionProperties)
Description copied from interface:OfficeSectionTransformerContext
Specifies the transformedOfficeSection
.- Specified by:
setTransformedOfficeSection
in interfaceOfficeSectionTransformerContext
- Parameters:
sectionSource
-SectionSource
.sectionLocation
-SectionSource
location.sectionProperties
-OfficeSection
PropertyList
.
-
-