Package com.microstrategy.web.objects
Interface WebNode
-
- All Known Subinterfaces:
WebBigDecimalNode
,WebConstantNode
,WebControlShortcutNode
,WebElementsObjectNode
,WebFieldShortcutNode
,WebFormShortcutNode
,WebGridUnitShortcutNode
,WebGroupNode
,WebOperatorNode
,WebPromptableNode
,WebRefNode
,WebRelationshipNode
,WebResidueNode
,WebShortcutNode
,WebTimeNode
,WebValueNode
- All Known Implementing Classes:
WebControlShortcutNodeImpl
,WebFieldShortcutNodeImpl
,WebGridUnitShortcutNodeImpl
public interface WebNode
The WebNode interface represents a node within an expression tree. The object which implements this interface is not directly instantiatable - the only way to obtain a WebNode object is throughWebExpression
or another WebNode. The only way to create a new node in an expression tree is by calling the appropriate create method onWebExpression
. Note that a WebNode object is linked to its expression object, and cannot be directly moved between expression trees.- Since:
- MicroStrategy Web 7.3.1 or earlier
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
appendChild(WebNode newChild)
Appends the given node to the end of the current node's list of child nodes.void
clear()
Removes all child nodes from the current node.void
clearPlaceHolder()
Deletes the place holder defined on this node.boolean
containsPrompts()
Returns true if this node or any of its children has prompts.WebNodePlaceHolder
createPlaceHolder()
Creates a place holder on this node.boolean
getCanExpand()
Returns the value of the can expand property on the node.WebNode
getChild(int index)
Returns the child node with the given (0-based) index in the collection.int
getChildCount()
Returns the number of child nodes of the current node.int
getDataType()
Returns the datatype of the current node.WebDimty
getDimensionality()
Returns an object which can be used to specify the dimensionality of the node.int
getDimensionalityType()
Returns the dimensionality type of the current node.java.lang.String
getDisplayName()
Returns the currently set display name of this node.int
getExpressionType()
Returns the expression type of the current node.WebNode
getFirstChild()
Returns the first child node of the current node, or null if the current node has no child nodes.boolean
getIsIndependentCSI()
Returns whether this node is independent from others.boolean
getIsSpliced()
Returns the value of the Is spliced property This is currently used in custom group elements.int
getKey()
Returns the key of this node.WebNode
getLastChild()
Returns the last child node of the current node, or null if the current node has no child nodes.WebNode
getNextSibling()
Returns the current node's next sibling.int
getNodeType()
Returns the node type of the current node.WebNode
getParent()
Returns the parent of the current node, or null if this is the root node.WebNodePlaceHolder
getPlaceHolder()
Returns the place holder associated on this node.WebNode
getPreviousSibling()
Returns the current node's previous sibling.java.lang.String
getShortXML()
Return the short xml representation of the node.java.lang.String
getTag()
Returns the tag which is currently set on this node.int
getUCFlag()
Returns the value of ucFlag.boolean
hasChildNodes()
Returns true if this node has child nodes, false if it does not.boolean
hasPlaceHolder()
Returns whether this node has a place holder defined on it.void
insertAfter(WebNode newChild, WebNode refNode)
Adds the given node to the current node's list of child nodes immediately after the reference node.void
insertBefore(WebNode newChild, WebNode refNode)
Adds the given node to the current node's list of child nodes immediately before the reference node.boolean
isCancelledPrompt()
void
removeChild(WebNode childNode)
Removes the given node from the collection of child nodes.void
replaceChild(WebNode newChild, WebNode oldChild)
Replaces the old node with the given new node in the expression.void
setCanExpand(boolean expand)
Sets the can expand property.void
setDataType(int dataType)
Sets the datatype of the current node.void
setDimensionalityType(int dimensionalityType)
Sets the dimensionality type of the current node.void
setDisplayName(java.lang.String displayName)
Sets the display name of this node to the given value.void
setExpressionType(int expressionType)
Sets the expression type of the current node to the given type.void
setIsIndependentCSI(boolean isIndependentCSI)
Sets the node whether it is independent from others.void
setIsSpliced(boolean spliced)
Sets the is spliced property.void
setTag(java.lang.String tag)
Sets the tag on the node.void
setUCFlag(int flag)
Sets the value of ucFlag.
-
-
-
Method Detail
-
getKey
int getKey()
Returns the key of this node. Every node in an expression has a unique key, though they are not necessarily in order, or even consecutive.- Returns:
- The key of this node.
-
getExpressionType
int getExpressionType()
Returns the expression type of the current node.- Returns:
- The expression type of the node, from
EnumDSSXMLExpressionType
. - See Also:
setExpressionType(int)
-
setExpressionType
void setExpressionType(int expressionType)
Sets the expression type of the current node to the given type.- Parameters:
expressionType
- The expression type to use for the node, fromEnumDSSXMLExpressionType
.- See Also:
getExpressionType()
-
getNodeType
int getNodeType()
Returns the node type of the current node. This is set upon creation of the node, and cannot be changed.- Returns:
- The node type of the node, from
EnumDSSXMLNodeType
.
-
getDataType
int getDataType()
Returns the datatype of the current node.- Returns:
- The datatype of the current node, from
EnumDSSXMLDataType
. - See Also:
setDataType(int)
-
setDataType
void setDataType(int dataType)
Sets the datatype of the current node.- Parameters:
dataType
- A value fromEnumDSSXMLDataType
, which will be used as the datatype of the current node.- See Also:
getDataType()
-
getDimensionalityType
int getDimensionalityType()
Returns the dimensionality type of the current node.- Returns:
- The current dimensionality type of this node, from
EnumDSSXMLNodeDimty
. - See Also:
setDimensionalityType(int)
-
setDimensionalityType
void setDimensionalityType(int dimensionalityType)
Sets the dimensionality type of the current node.- Parameters:
dimensionalityType
- The dimensionality type to assign to this node, fromEnumDSSXMLNodeDimty
.- See Also:
getDimensionalityType()
-
getDimensionality
WebDimty getDimensionality()
Returns an object which can be used to specify the dimensionality of the node. This will only be relevant if the dimensionality type is set to something other than the default (none).- Returns:
- An object of type
WebDimty
, which can then be used to specify dimensionality.
-
getUCFlag
int getUCFlag()
Returns the value of ucFlag.- Returns:
- The value of ucFlag.
-
setUCFlag
void setUCFlag(int flag)
Sets the value of ucFlag.- Parameters:
flag
- The value to be set for ucFlag.- See Also:
getUCFlag()
-
getDisplayName
java.lang.String getDisplayName()
Returns the currently set display name of this node.- Returns:
- The current display name of this node.
- See Also:
setDisplayName(java.lang.String)
-
setDisplayName
void setDisplayName(java.lang.String displayName)
Sets the display name of this node to the given value.- Parameters:
displayName
- The display name to use when describing the node.- See Also:
getDisplayName()
-
hasChildNodes
boolean hasChildNodes()
Returns true if this node has child nodes, false if it does not.- Returns:
- Whether this node has child nodes.
-
getChildCount
int getChildCount()
Returns the number of child nodes of the current node.- Returns:
- The number of child nodes, or 0 if none exist.
-
getFirstChild
WebNode getFirstChild()
Returns the first child node of the current node, or null if the current node has no child nodes.- Returns:
- A
WebNode
object which is the first child (the index 0 child) of this node, or null if no children are found.
-
getLastChild
WebNode getLastChild()
Returns the last child node of the current node, or null if the current node has no child nodes.- Returns:
- A
WebNode
object which is the last child (the last index child) of this node, or null if no children are found.
-
getChild
WebNode getChild(int index) throws java.lang.IndexOutOfBoundsException
Returns the child node with the given (0-based) index in the collection.- Parameters:
index
- The index of the child node to return.- Returns:
- A
WebNode
object, corresponding to the given index. - Throws:
java.lang.IndexOutOfBoundsException
- Thrown if the given index does not exist in the collection.
-
getParent
WebNode getParent()
Returns the parent of the current node, or null if this is the root node.- Returns:
- A
WebNode
object, which is the parent of the current node, or null if the current node has no parent.
-
getPreviousSibling
WebNode getPreviousSibling()
Returns the current node's previous sibling. This will be a node with the same parent as the current node, but with 1 less index in the parent node's collection. This method will return null if the parent node does not exist, or if this is the first node in the parent node's collection.- Returns:
WebNode
The previous sibling, or null if none exists(i.e. this is the first child of its parent, or this is the root node).
-
getNextSibling
WebNode getNextSibling()
Returns the current node's next sibling. This will be a node with the same parent as the current node, but with 1 greater index in the parent node's collection. This method will return null if the parent node does not exist, or if this is the last node in the parent node's collection.- Returns:
WebNode
The next sibling, or null if none exists(i.e. this is the last child of its parent, or this is the root node).
-
appendChild
void appendChild(WebNode newChild) throws java.lang.IllegalArgumentException
Appends the given node to the end of the current node's list of child nodes. The node to be appended must be from the same expression as the node it is being appended to.- Parameters:
newChild
- The node to be appended.- Throws:
java.lang.IllegalArgumentException
- Thrown if the given node is null or if the node being appended is from a different expression.
-
insertBefore
void insertBefore(WebNode newChild, WebNode refNode) throws java.lang.IllegalArgumentException
Adds the given node to the current node's list of child nodes immediately before the reference node.- Parameters:
newChild
- The node to be appended.refNode
- The node before which the new node is to be inserted.- Throws:
java.lang.IllegalArgumentException
- Thrown if either node is null, if the reference node is not found, or if the node to insert belongs to a different expression.
-
insertAfter
void insertAfter(WebNode newChild, WebNode refNode) throws java.lang.IllegalArgumentException
Adds the given node to the current node's list of child nodes immediately after the reference node.- Parameters:
newChild
- The node to be appended.refNode
- The node after which the new node is to be inserted.- Throws:
java.lang.IllegalArgumentException
- Thrown if either node is null, if the reference node is not found, or if the node to insert belongs to a different expression.
-
replaceChild
void replaceChild(WebNode newChild, WebNode oldChild) throws java.lang.IllegalArgumentException
Replaces the old node with the given new node in the expression.- Parameters:
newChild
- The node to be used as the replacement.oldChild
- The node to be replaced.- Throws:
java.lang.IllegalArgumentException
- Signals that one or both input parameters to this method were null, the reference node is not found, or the replacement node is from a different expression.
-
removeChild
void removeChild(WebNode childNode) throws java.lang.IllegalArgumentException
Removes the given node from the collection of child nodes.- Parameters:
childNode
- TheWebNode
object to be removed from the child collection.- Throws:
java.lang.IllegalArgumentException
- Signals that the given node is null or not found.
-
clear
void clear()
Removes all child nodes from the current node.
-
getTag
java.lang.String getTag()
Returns the tag which is currently set on this node. The tag is a user-defined piece of information which can be attached to a node, and will be persisted with the expression's state.- Returns:
- The tag currently set on the node.
-
setTag
void setTag(java.lang.String tag)
Sets the tag on the node. If this value is null, the current tag will be removed.- Parameters:
tag
- The tag to attach to the current node.
-
isCancelledPrompt
boolean isCancelledPrompt()
- Since:
- MicroStrategy Web 9.0.0
-
containsPrompts
boolean containsPrompts()
Returns true if this node or any of its children has prompts.- Returns:
- true if this node or any of its children has prompts.
- Since:
- MicroStrategy Web 9.0.1
-
getShortXML
java.lang.String getShortXML()
Return the short xml representation of the node.- Returns:
-
getCanExpand
boolean getCanExpand()
Returns the value of the can expand property on the node. This is currently used in custom group elements.- Returns:
- See Also:
setCanExpand(boolean)
-
getIsSpliced
boolean getIsSpliced()
Returns the value of the Is spliced property This is currently used in custom group elements.- Returns:
- See Also:
setCanExpand(boolean)
-
setCanExpand
void setCanExpand(boolean expand)
Sets the can expand property. This is currently used in custom group elements.- Parameters:
expand
-- See Also:
getCanExpand()
-
setIsSpliced
void setIsSpliced(boolean spliced)
Sets the is spliced property. This is currently used in custom group elements.- Parameters:
spliced
-- See Also:
getIsSpliced()
-
hasPlaceHolder
boolean hasPlaceHolder()
Returns whether this node has a place holder defined on it.- Returns:
- true if it has a place holder
-
getPlaceHolder
WebNodePlaceHolder getPlaceHolder()
Returns the place holder associated on this node.- Returns:
WebNodePlaceHolder
object. Null if there is no place holder.
-
clearPlaceHolder
void clearPlaceHolder()
Deletes the place holder defined on this node.
-
createPlaceHolder
WebNodePlaceHolder createPlaceHolder()
Creates a place holder on this node.- Returns:
- the newly created place holder
-
getIsIndependentCSI
boolean getIsIndependentCSI()
Returns whether this node is independent from others. It is used for metric qualifications.- Returns:
- true if it is independent
-
setIsIndependentCSI
void setIsIndependentCSI(boolean isIndependentCSI)
Sets the node whether it is independent from others.- Parameters:
isIndependent
-
-
-