Class Element

java.lang.Object
com.sun.tools.xjc.reader.gbind.Expression
com.sun.tools.xjc.reader.gbind.Element
All Implemented Interfaces:
ElementSet, Iterable<Element>
Direct Known Subclasses:
SinkNode, SourceNode

public abstract class Element extends Expression implements ElementSet
Expression that represents an alphabet of a regular language.

Since this package is about a regular expression over element declarations, this represents an XML element declaration (hence the name.) Element needs to be interned, meaning one Element per one tag name.

Implements ElementSet to represent a self.

Author:
Kohsuke Kawaguchi
  • Constructor Details

    • Element

      protected Element()
  • Method Details

    • addNext

      public void addNext(Element element)
      Description copied from interface: ElementSet
      For each element in this set, adds an edge to the given element.
      Specified by:
      addNext in interface ElementSet
    • contains

      public boolean contains(ElementSet rhs)
      Description copied from interface: ElementSet
      Doesn't have to be strict (it's OK for this method to return false when it's actually true) since this is used just for optimization. (Erring on the other side is NG)
      Specified by:
      contains in interface ElementSet
    • iterator

      @Deprecated public Iterator<Element> iterator()
      Deprecated.
      if you statically call this method, there's something wrong.
      Just to satisfy the ElementSet contract.
      Specified by:
      iterator in interface Iterable<Element>
    • buildStronglyConnectedComponents

      public void buildStronglyConnectedComponents(List<ConnectedComponent> ccs)
      Builds a set of strongly connected components and puts them all into the given set.
    • hasSelfLoop

      public boolean hasSelfLoop()