Class QualifiedName


  • public abstract class QualifiedName
    extends java.lang.Object
    Abstraction over a qualified name. Unifies Node-based qualified names and string-based names, allowing to lazily parse strings and represent a pre-parsed qualified name without the overhead of a whole Node. Essentially, a qualified name is a linked list of components, starting from the outermost property access and ending with the root of the name, which is a simple name with no owner.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Iterable<java.lang.String> components()
      Returns the components of this name as an iterable of strings, starting at the root.
      abstract java.lang.String getComponent()
      Returns outer-most term of this qualified name, or the entire name for simple names.
      abstract QualifiedName getOwner()
      Returns the qualified name of the owner, or null for simple names.
      QualifiedName getprop​(java.lang.String propertyName)
      Returns a new qualified name object with this name as the owner and the given string as the property name.
      java.lang.String getRoot()
      Returns the root of this name, e.g.
      abstract boolean isSimple()
      Returns true if this is a simple name.
      java.lang.String join()
      Returns the qualified name as a string.
      abstract boolean matches​(Node n)
      Checks whether the given node matches this name.
      static QualifiedName of​(java.lang.String string)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • of

        public static QualifiedName of​(java.lang.String string)
      • getOwner

        @Nullable
        public abstract QualifiedName getOwner()
        Returns the qualified name of the owner, or null for simple names. For the name "foo.bar.baz", this returns an object representing "foo.bar".
      • getComponent

        public abstract java.lang.String getComponent()
        Returns outer-most term of this qualified name, or the entire name for simple names. For the name "foo.bar.baz", this returns "baz".
      • isSimple

        public abstract boolean isSimple()
        Returns true if this is a simple name.
      • matches

        public abstract boolean matches​(Node n)
        Checks whether the given node matches this name.
      • getRoot

        public java.lang.String getRoot()
        Returns the root of this name, e.g. "foo" from "foo.bar.baz".
      • components

        public java.lang.Iterable<java.lang.String> components()
        Returns the components of this name as an iterable of strings, starting at the root. For the qualified name foo.bar.baz, this returns ["foo", "bar", "baz"].
      • join

        public java.lang.String join()
        Returns the qualified name as a string.
      • getprop

        public QualifiedName getprop​(java.lang.String propertyName)
        Returns a new qualified name object with this name as the owner and the given string as the property name.