Class ServiceName

java.lang.Object
org.jboss.msc.service.ServiceName
All Implemented Interfaces:
Serializable, Comparable<ServiceName>

public final class ServiceName extends Object implements Comparable<ServiceName>, Serializable
Service name class.
Author:
John Bailey, David M. Lloyd
See Also:
  • Field Details

    • JBOSS

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

    • 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