Class ServiceName

    • Field Detail

      • JBOSS

        public static final ServiceName JBOSS
        The root name "jboss".
    • Method Detail

      • of

        public static ServiceName of​(String... parts)
        Create a ServiceName from a series of String parts.
        Parameters:
        parts - The string representations of the service name segments
        Returns:
        A ServiceName instance
      • of

        public static ServiceName of​(ServiceName parent,
                                     String... parts)
        Create a ServiceName from a series of String parts and a parent service name.
        Parameters:
        parent - The parent ServiceName for this name
        parts - The string representations of the service name segments
        Returns:
        A ServiceName instance
      • append

        public ServiceName append​(String... parts)
        Create a service name by appending name parts using this as a parent to the new ServiceName.
        Parameters:
        parts - The parts to append
        Returns:
        A new ServiceName
      • append

        public ServiceName append​(ServiceName serviceName)
        Create a service name by appending name parts of the provided ServiceName using this as a parent.
        Parameters:
        serviceName - The service name to use as the parts to append
        Returns:
        A new ServiceName
      • length

        public int length()
        Get the length (in segments) of this service name.
        Returns:
        the length
      • getParent

        public ServiceName getParent()
        Get the parent (enclosing) service name.
        Returns:
        the parent name
      • getSimpleName

        public String getSimpleName()
        Get the simple (unqualified) name of this service.
        Returns:
        the simple name
      • isParentOf

        public boolean isParentOf​(ServiceName other)
        Determine whether this service name is the same as, or a parent of, the given service name.
        Parameters:
        other - the other name
        Returns:
        true if this service name is a parent
      • commonAncestorOf

        public ServiceName commonAncestorOf​(ServiceName other)
        Return the service name that is the nearest common ancestor of the this name and the given one.
        Parameters:
        other - the other name
        Returns:
        the nearest common ancestor, or null if they are unrelated
      • equals

        public boolean equals​(Object o)
        Compare this service name to another service name. This is done by comparing the parents and leaf name of each service name.
        Overrides:
        equals in class Object
        Parameters:
        o - the other service name
        Returns:
        true if they are equal, false if they are not equal or the argument is not a service name or is null
      • equals

        public boolean equals​(ServiceName o)
        Compare this service name to another service name. This is done by comparing the parents and leaf name of each service name.
        Parameters:
        o - the other service name
        Returns:
        true if they are equal, false if they are not equal or the argument is null
      • hashCode

        public int hashCode()
        Return the hash code of this service name.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code
      • toString

        public String toString()
        Get a string representation of this service name.
        Overrides:
        toString in class Object
        Returns:
        the string representation
      • getCanonicalName

        public String getCanonicalName()
        Get the canonical name of this service name.
        Returns:
        the canonical name
      • isValidNameSegment

        public static boolean isValidNameSegment​(String part)
        Indicates if the name segment is valid.
        Parameters:
        part - a name segment
        Returns:
        true if part is valid
      • parse

        public static ServiceName parse​(String original)
                                 throws IllegalArgumentException
        Parse a string-form service name. If the given name contains quoted sections (surrounded by '"' characters), then the section will be parsed as a quoted string with optional escaped characters. The set of valid escapes is similar to what is supported by the JLS (§3.3 and §3.10.6), with one exception: the string \0 is always parsed as a NUL character (0) and not as an octal escape sequence. Control characters are not allowed in any part of a name and must be escaped in a quoted section if they are present in the service name string. Whitespace characters are allowed only in a quoted section.
        Parameters:
        original - the string form of a service name
        Returns:
        a ServiceName instance
        Throws:
        IllegalArgumentException - if the original is not valid
      • compareTo

        public int compareTo​(ServiceName o)
        Compare two service names lexicographically.
        Specified by:
        compareTo in interface Comparable<ServiceName>
        Parameters:
        o - the other name
        Returns:
        -1 if this name collates before the argument, 1 if it collates after, or 0 if they are equal
      • toArray

        public String[] toArray()
        Convert this service name into an array of strings containing the segments of the name. If this array is passed into of(String...) it will yield a ServiceName which is equal to this one.
        Returns:
        the string array