IReplaceableNode

Interface for nodes that can be replaced by a new instance.

Inheritors

Properties

Link copied to clipboard
abstract val allChildren: Iterable<INode>

Iterable over all child nodes of this node.

Link copied to clipboard
abstract val concept: IConcept?

Concept, of which this node is instance of, or null if the node is not instance of any concept.

Link copied to clipboard
abstract val isValid: Boolean
Link copied to clipboard
abstract val parent: INode?

Parent node of this node if it exists, or null if this node has no parent node.

Link copied to clipboard

Reference targeting this node.

Link copied to clipboard
abstract val roleInParent: String?

Role of this node in its parent node if it exists,or null otherwise.

Functions

Link copied to clipboard
abstract fun addNewChild(role: String?, index: Int, concept: IConcept?): INode
open fun addNewChild(role: String?, index: Int, concept: IConceptReference?): INode

Adds a new child node to this node.

open fun addNewChild(role: IChildLink, index: Int, concept: IConcept?): INode
open fun addNewChild(role: IChildLink, index: Int, concept: IConceptReference?): INode
Link copied to clipboard
fun INode.addNewChild(role: String?, index: Int): INode
fun INode.addNewChild(role: String?, concept: IConcept?): INode
fun INode.addNewChild(role: IChildLink, index: Int): INode
fun INode.addNewChild(role: IChildLink, index: Int, concept: IConcept?): INode
Link copied to clipboard
open fun addNewChildren(role: String?, index: Int, concepts: List<IConceptReference?>): List<INode>
open fun addNewChildren(link: IChildLink, index: Int, concepts: List<IConceptReference?>): List<INode>
Link copied to clipboard
Link copied to clipboard
open fun getAllChildrenAsFlow(): Flow<INode>
Link copied to clipboard
Link copied to clipboard
fun INode?.getAncestor(concept: IConcept?, includeSelf: Boolean): INode?
Link copied to clipboard
fun INode.getAncestors(includeSelf: Boolean = false): Sequence<INode>
Link copied to clipboard
abstract fun getArea(): IArea

Returns the area of which this node is part of.

Link copied to clipboard
abstract fun getChildren(role: String?): Iterable<INode>

Returns children of this node for the given role.

Link copied to clipboard
Link copied to clipboard
open fun getChildrenAsFlow(role: IChildLink): Flow<INode>
Link copied to clipboard
Link copied to clipboard

Returns a concept reference to the concept of which this node is instance of.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDescendantsAsFlow(includeSelf: Boolean = false): Flow<INode>
Link copied to clipboard
Link copied to clipboard
open fun getParentAsFlow(): Flow<INode>
Link copied to clipboard
Link copied to clipboard
abstract fun getPropertyRoles(): List<String>

Returns all property roles of this node.

Link copied to clipboard
abstract fun getPropertyValue(role: String): String?

Returns the value of the given property role for this node.

open fun getPropertyValue(property: IProperty): String?
Link copied to clipboard
Link copied to clipboard
open fun getPropertyValueAsFlow(role: IProperty): Flow<String?>
Link copied to clipboard
Link copied to clipboard
abstract fun getReferenceRoles(): List<String>

Returns all reference roles of this node.

Link copied to clipboard
abstract fun getReferenceTarget(role: String): INode?

Returns the target of the given reference role for this node.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Returns a node reference to the target of the reference.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun INode.index(): Int
Link copied to clipboard

Resolves whether the child link is ordered or not.

Link copied to clipboard
fun INode.isInstanceOf(superConcept: IConcept?): Boolean
Link copied to clipboard
Link copied to clipboard
abstract fun moveChild(role: String?, index: Int, child: INode)

Moves a node to this node's children with the given role and index. The child node can originate from a different parent.

open fun moveChild(role: IChildLink, index: Int, child: INode)
Link copied to clipboard
fun INode.moveChild(role: IChildLink, index: Int, child: INode)
Link copied to clipboard
Link copied to clipboard
abstract fun removeChild(child: INode)

Removes the given node from this node's children.

Link copied to clipboard
Link copied to clipboard
abstract fun replaceNode(concept: ConceptReference?): INode

Replaces this node with a new node of the given concept that uses the same id as this node. Properties, references and children will be the same.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun setPropertyValue(role: String, value: String?)

Sets the value of the given property role for this node to the specified role.

open fun setPropertyValue(property: IProperty, value: String?)
Link copied to clipboard
fun INode.setPropertyValue(property: IProperty, value: String?)
Link copied to clipboard
abstract fun setReferenceTarget(role: String, target: INode?)

Sets the target of the given role reference for this node to the specified target node.

open fun setReferenceTarget(role: String, target: INodeReference?)

Sets the target of the given role reference for this node to the node referenced by the specified target reference.

open fun setReferenceTarget(link: IReferenceLink, target: INode?)
Link copied to clipboard
Link copied to clipboard
open fun tryGetConcept(): IConcept?
Link copied to clipboard

Attempts to resolve the child link.

Link copied to clipboard

Attempts to resolve the property.

Link copied to clipboard

Attempts to resolve the reference link.

Link copied to clipboard
open fun usesRoleIds(): Boolean
Link copied to clipboard