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 Details

  • Method Details

    • 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 interface Element
      Returns:
      the document
    • getParentElement

      public Element getParentElement()
      Fetches the parent element. If the element is a root level element returns null.
      Specified by:
      getParentElement in interface Element
      Returns:
      the parent element
    • getAttributes

      public AttributeSet getAttributes()
      Fetches the collection of attributes this element contains.
      Specified by:
      getAttributes in interface Element
      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 interface Element
      Returns:
      the starting offset >= 0 and < getEndOffset();
      See Also:
    • 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 default Document implementations descend from AbstractDocument. 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 interface Element
      Returns:
      the ending offset > getStartOffset() and <= getDocument().getLength() + 1
      See Also:
    • 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 the Element is a leaf, otherwise returns the index of the Element that best represents the given location. Returns 0 if the location is less than the start offset. Returns getElementCount() - 1 if the location is greater than or equal to the end offset.
      Specified by:
      getElementIndex in interface Element
      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 interface Element
      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 interface Element
      Parameters:
      index - the specified index >= 0
      Returns:
      the child element
    • isLeaf

      public boolean isLeaf()
      Is this element a leaf element? An element that may have children, even if it currently has no children, would return false.
      Specified by:
      isLeaf in interface Element
      Returns:
      true if a leaf element else false