Class FormulaElement
- java.lang.Object
-
- org.pentaho.openformula.ui.model2.FormulaElement
-
- All Implemented Interfaces:
Element
- Direct Known Subclasses:
FormulaClosingParenthesisElement
,FormulaOpenParenthesisElement
,FormulaOperatorElement
,FormulaRootElement
,FormulaSemicolonElement
,FormulaTextElement
public abstract class FormulaElement extends Object implements Element
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FormulaElement(FormulaDocument document, FormulaRootElement parentElement)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AttributeSet
getAttributes()
Fetches the collection of attributes this element contains.Document
getDocument()
Fetches the document associated with this element.Element
getElement(int index)
Fetches the child element at the given index.int
getElementCount()
Gets the number of child elements contained by this element.int
getElementIndex(int offset)
Gets the child element index closest to the given offset.int
getEndOffset()
Fetches the offset from the beginning of the document that this element ends at.Element
getParentElement()
Fetches the parent element.int
getStartOffset()
Fetches the offset from the beginning of the document that this element begins at.abstract String
getText()
boolean
isLeaf()
Is this element a leaf element? An element that may have children, even if it currently has no children, would returnfalse
.void
setEndOffset(int endOffset)
void
setStartOffset(int startOffset)
-
-
-
Constructor Detail
-
FormulaElement
protected FormulaElement(FormulaDocument document, FormulaRootElement parentElement)
-
-
Method Detail
-
setEndOffset
public void setEndOffset(int endOffset)
-
setStartOffset
public void setStartOffset(int startOffset)
-
getText
public abstract String getText()
-
getDocument
public Document getDocument()
Fetches the document associated with this element.- Specified by:
getDocument
in interfaceElement
- Returns:
- the document
-
getParentElement
public Element getParentElement()
Fetches the parent element. If the element is a root level element returnsnull
.- Specified by:
getParentElement
in interfaceElement
- Returns:
- the parent element
-
getAttributes
public AttributeSet getAttributes()
Fetches the collection of attributes this element contains.- Specified by:
getAttributes
in interfaceElement
- Returns:
- the attributes for the element
-
getStartOffset
public int getStartOffset()
Fetches the offset from the beginning of the document that this element begins at. If this element has children, this will be the offset of the first child. As a document position, there is an implied forward bias.- Specified by:
getStartOffset
in interfaceElement
- Returns:
- the starting offset >= 0 and < getEndOffset();
- See Also:
Document
,AbstractDocument
-
getEndOffset
public int getEndOffset()
Fetches the offset from the beginning of the document that this element ends at. If this element has children, this will be the end offset of the last child. As a document position, there is an implied backward bias. All the defaultDocument
implementations descend fromAbstractDocument
.AbstractDocument
models an implied break at the end of the document. As a result of this, it is possible for this to return a value greater than the length of the document.- Specified by:
getEndOffset
in interfaceElement
- Returns:
- the ending offset > getStartOffset() and <= getDocument().getLength() + 1
- See Also:
Document
,AbstractDocument
-
getElementIndex
public int getElementIndex(int offset)
Gets the child element index closest to the given offset. The offset is specified relative to the beginning of the document. Returns-1
if theElement
is a leaf, otherwise returns the index of theElement
that best represents the given location. Returns0
if the location is less than the start offset. ReturnsgetElementCount() - 1
if the location is greater than or equal to the end offset.- Specified by:
getElementIndex
in interfaceElement
- Parameters:
offset
- the specified offset >= 0- Returns:
- the element index >= 0
-
getElementCount
public int getElementCount()
Gets the number of child elements contained by this element. If this element is a leaf, a count of zero is returned.- Specified by:
getElementCount
in interfaceElement
- Returns:
- the number of child elements >= 0
-
getElement
public Element getElement(int index)
Fetches the child element at the given index.- Specified by:
getElement
in interfaceElement
- Parameters:
index
- the specified index >= 0- Returns:
- the child element
-
-