java.lang.Object
org.apache.batik.dom.AbstractNode
org.apache.batik.dom.AbstractParentNode
org.apache.batik.dom.AbstractParentChildNode
org.apache.batik.dom.AbstractElement
org.apache.batik.dom.AbstractElementNS
org.apache.batik.dom.GenericElementNS
All Implemented Interfaces:
Serializable, JEuclidElement, JEuclidNode, LayoutableNode, org.apache.batik.dom.events.NodeEventTarget, org.apache.batik.dom.ExtendedNode, org.apache.batik.dom.xbl.NodeXBL, org.apache.batik.dom.xbl.XBLManagerData, org.apache.batik.w3c.dom.ElementTraversal, Element, EventTarget, MathMLElement, MathMLMultiScriptsElement, MathMLPresentationElement, Node

public final class Mmultiscripts extends AbstractScriptElement implements MathMLMultiScriptsElement
Prescripts and Tensor Indices.
Version:
$Revision: 9af8f7182adc $
See Also:
  • Field Details

  • Constructor Details

    • Mmultiscripts

      public Mmultiscripts(String qname, org.apache.batik.dom.AbstractDocument odoc)
      Default constructor. Sets MathML Namespace.
      Parameters:
      qname - Qualified name.
      odoc - Owner Document.
  • Method Details

    • newNode

      protected Node newNode()
      Overrides:
      newNode in class org.apache.batik.dom.GenericElementNS
    • changeHook

      public void changeHook()
      Override this function to get notified whenever the contents of this element have changed.
      Overrides:
      changeHook in class AbstractJEuclidElement
    • layoutStageInvariant

      protected void layoutStageInvariant(LayoutView view, LayoutInfo info, LayoutStage stage, LayoutContext context)
      Layout for elements which are stage independent.

      This function will layout an element which is layed out the same no matter what stage it is in. This is the case for most elements.

      Notable exceptions are mo and tables.

      Overrides:
      layoutStageInvariant in class AbstractJEuclidElement
      Parameters:
      view - View Object for this layout.
      info - An info object which will be filled during layout.
      stage - current layout stage.
      context - current LayoutContext.
    • hasChildPrescripts

      public boolean hasChildPrescripts(JEuclidElement child)
      returns true is the child has prescripts attached to it. In this case, there should be no extra space on the left.
      Specified by:
      hasChildPrescripts in interface JEuclidElement
      Overrides:
      hasChildPrescripts in class AbstractJEuclidElement
      Parameters:
      child - child to test
      Returns:
      true if there are attached prescripts
    • hasChildPostscripts

      public boolean hasChildPostscripts(JEuclidElement child, LayoutContext context)
      returns true is the child has postscripts attached to it. In this case, there should be no extra space on the left.
      Specified by:
      hasChildPostscripts in interface JEuclidElement
      Overrides:
      hasChildPostscripts in class AbstractJEuclidElement
      Parameters:
      child - child to test
      context - current layout context.
      Returns:
      true if there are attached postscripts
    • getBase

      public JEuclidElement getBase()
      A MathMLElement representing the base of the script. This is the first child of the element.
      Specified by:
      getBase in interface MathMLMultiScriptsElement
      Returns:
      value of the base attribute.
    • setBase

      public void setBase(MathMLElement base)
      setter for the base attribute.
      Specified by:
      setBase in interface MathMLMultiScriptsElement
      Parameters:
      base - new value for base.
      See Also:
    • getNumprescriptcolumns

      public int getNumprescriptcolumns()
      The number of script/subscript columns preceding (to the left of) the base. Should always be half of getprescripts().length()
      Specified by:
      getNumprescriptcolumns in interface MathMLMultiScriptsElement
      Returns:
      value of the numprescriptcolumns attribute.
    • getNumscriptcolumns

      public int getNumscriptcolumns()
      The number of script/subscript columns following (to the right of) the base. Should always be half of getscripts().length()
      Specified by:
      getNumscriptcolumns in interface MathMLMultiScriptsElement
      Returns:
      value of the numscriptcolumns attribute.
    • getPreSubScript

      public MathMLElement getPreSubScript(int colIndex)
      A convenience method to retrieve pre-subscript children of the element, referenced by column index .
      Specified by:
      getPreSubScript in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of prescript (where 1 represents the leftmost prescript column).
      Returns:
      Returns the MathMLElement representing the colIndex-th presubscript (to the left of the base, counting from 1 at the far left). Note that this may be the MathMLElement corresponding to the special element none in the case of a missing presubscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.
    • getPreSuperScript

      public MathMLElement getPreSuperScript(int colIndex)
      A convenience method to retrieve pre-superscript children of the element, referenced by column index .
      Specified by:
      getPreSuperScript in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of pre-superscript (where 1 represents the leftmost prescript column).
      Returns:
      Returns the MathMLElement representing the colIndex-th presuperscript (to the left of the base, counting from 1 at the far left). Note that this may be the MathMLElement corresponding to the special element none in the case of a missing presuperscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.
    • getPrescripts

      public MathMLNodeList getPrescripts()
      A NodeList representing the prescripts of the script, which appear in the order described by the expression (prescript presuperscript)*. This is the same as traversing the contents of the NodeList returned by Node::childNodes() from the Node following the mprescripts (if present) to the end of the list.
      Specified by:
      getPrescripts in interface MathMLMultiScriptsElement
      Returns:
      value of the prescripts attribute.
    • getScripts

      public MathMLNodeList getScripts()
      A MathMLNodeList representing the scripts of the script, which appear in the order described by the expression (script superscript)*. This is the same as traversing the contents of the NodeList returned by Node::childNodes() from the first Node up to and including the Node preceding the mprescripts (if present).
      Specified by:
      getScripts in interface MathMLMultiScriptsElement
      Returns:
      value of the scripts attribute.
    • getSubScript

      public MathMLElement getSubScript(int colIndex)
      A convenience method to retrieve subscript children of the element, referenced by column index.
      Specified by:
      getSubScript in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of script (where 1 represents the leftmost script column, the first to the right of the base).
      Returns:
      Returns the MathMLElement representing the colIndex-th subscript to the right of the base. Note that this may be the MathMLElement corresponding to the special element none in the case of a missing subscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.
    • getSuperScript

      public MathMLElement getSuperScript(int colIndex)
      A convenience method to retrieve superscript children of the element, referenced by column index .
      Specified by:
      getSuperScript in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of script (where 1 represents the leftmost script column, the first to the right of the base)
      Returns:
      Returns the MathMLElement representing the colIndex-th superscript to the right of the base. Note that this may be the MathMLElement corresponding to the special element none in the case of a missing superscript (see the discussion of mmultiscripts), or it may be null if colIndex is out of range for the element.
    • insertPreSubScriptBefore

      public MathMLElement insertPreSubScriptBefore(int colIndex, MathMLElement newScript)
      A convenience method to insert a pre-subscript before the position referenced by column index. If colIndex is 0, the new pre-subscript is appended as the last pre-subscript of the mmultiscripts element; if colIndex is 1, a new pre-subscript is prepended at the far left. Note that inserting a new pre-subscript will cause the insertion of an empty pre-superscript in the same column.
      Specified by:
      insertPreSubScriptBefore in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of pre-subscript (where 1 represents the leftmost prescript column).
      newScript - A MathMLElement representing the element to be inserted as a pre-subscript.
      Returns:
      The MathMLElement child of this MathMLMultiScriptsElement representing the new script in the DOM.
    • insertPreSuperScriptBefore

      public MathMLElement insertPreSuperScriptBefore(int colIndex, MathMLElement newScript)
      A convenience method to insert a pre-superscript before the position referenced by column index. If colIndex is 0, the new pre-superscript is appended as the last pre-superscript of the mmultiscripts element; if colIndex is 1, a new pre-superscript is prepended at the far left. Note that inserting a new pre-superscript will cause the insertion of an empty pre-subscript in the same column.
      Specified by:
      insertPreSuperScriptBefore in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of pre-superscript (where 1 represents the leftmost prescript column).
      newScript - A MathMLElement representing the element to be inserted as a pre-superscript.
      Returns:
      The MathMLElement child of this element that represents the new pre-superscript in the DOM.
    • insertSubScriptBefore

      public MathMLElement insertSubScriptBefore(int colIndex, MathMLElement newScript)
      A convenience method to insert a subscript before the position referenced by column index. If colIndex is 0, the new subscript is appended as the last subscript of the mmultiscripts element; if colIndex is 1, a new subscript is prepended at the far left. Note that inserting a new subscript will cause the insertion of an empty superscript in the same column.
      Specified by:
      insertSubScriptBefore in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of subscript, where 1 represents the leftmost script column (the first to the right of the base).
      newScript - A MathMLElement representing the element to be inserted as a subscript.
      Returns:
      The MathMLElement child of this MathMLMultiScriptsElement that represents the new subscript in the DOM.
    • insertSuperScriptBefore

      public MathMLElement insertSuperScriptBefore(int colIndex, MathMLElement newScript)
      A convenience method to insert a superscript before the position referenced by column index. If colIndex is 0, the new superscript is appended as the last superscript of the mmultiscripts element; if colIndex is 1, a new superscript is prepended at the far left. Note that inserting a new superscript will cause the insertion of an empty subscript in the same column.
      Specified by:
      insertSuperScriptBefore in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of superscript, where 1 represents the leftmost script column (the first to the right of the base).
      newScript - A MathMLElement representing the element to be inserted as a superscript.
      Returns:
      The MathMLElement child of this element that represents the new superscript in the DOM.
    • setPreSubScriptAt

      public MathMLElement setPreSubScriptAt(int colIndex, MathMLElement newScript)
      A convenience method to set the pre-subscript child at the position referenced by colIndex. If there is currently a pre-subscript at this position, it is replaced by newScript.
      Specified by:
      setPreSubScriptAt in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of pre-subscript (where 1 represents the leftmost prescript column).
      newScript - MathMLElement representing the element that is to be set as the colIndex-th pre-subscript child of this element.
      Returns:
      The MathMLElement child of this MathMLMultiScriptsElement representing the new pre-subscript in the DOM.
    • setPreSuperScriptAt

      public MathMLElement setPreSuperScriptAt(int colIndex, MathMLElement newScript)
      A convenience method to set the pre-superscript child at the position referenced by colIndex. If there is currently a pre-superscript at this position, it is replaced by newScript.
      Specified by:
      setPreSuperScriptAt in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of pre-superscript (where 1 represents the leftmost prescript column).
      newScript - MathMLElement representing the element that is to be set as the colIndex-th pre-superscript child of this element.
      Returns:
      The MathMLElement child of this element that represents the new pre-superscript in the DOM.
    • setSubScriptAt

      public MathMLElement setSubScriptAt(int colIndex, MathMLElement newScript)
      A convenience method to set the subscript child at the position referenced by colIndex. If there is currently a subscript at this position, it is replaced by newScript.
      Specified by:
      setSubScriptAt in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of subscript, where 1 represents the leftmost script column (the first to the right of the base).
      newScript - MathMLElement representing the element that is to be set as the colIndex-th subscript child of this element.
      Returns:
      The MathMLElement child of this element representing the new subscript in the DOM.
    • setSuperScriptAt

      public MathMLElement setSuperScriptAt(int colIndex, MathMLElement newScript)
      A convenience method to set the superscript child at the position referenced by colIndex. If there is currently a superscript at this position, it is replaced by newScript.
      Specified by:
      setSuperScriptAt in interface MathMLMultiScriptsElement
      Parameters:
      colIndex - Column index of superscript, where 1 represents the leftmost script column (the first to the right of the base).
      newScript - MathMLElement representing the element that is to be set as the colIndex-th superscript child of this element.
      Returns:
      The MathMLElement child of this element that represents the new superscript in the DOM.