Class IdpAdapterName

  • All Implemented Interfaces:
    java.lang.Comparable<IdpAdapterName>

    public class IdpAdapterName
    extends java.lang.Object
    implements java.lang.Comparable<IdpAdapterName>

    Wrapper around a raw IdP Adapter name String. Sanitizes the raw name such that:

    1. The first character is replaced with an underscore if it is not an underscore or alphabetical
    2. Any remaining characters are replaced with underscores if they are not underscores, alphabetical or numeric

    An IdpAdapaterName is equal to another if its sanitized name is equal to (ignoring case) the other's sanitized name.

    Makes for good consistent hash keys as the hash code is based on the sanitized name converted to all lowercase characters.

    When one IdpAdapterName is compared with another, the result is the same as if their sanitized names are compared with each other (ignoring case).

    • Method Detail

      • getName

        @Nonnull
        public java.lang.String getName()
        Returns:
        the raw un-sanitized name
      • of

        @Nonnull
        public static IdpAdapterName of​(@Nonnull
                                        java.lang.String name)
        Create a new IdpAdapterName given the raw name as a String
        Parameters:
        name - the raw name as a String
        Returns:
        the IdpAdapterName composed of the raw name as a String
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        Returns:
        the sanitized name (preserving case)
      • compareTo

        public int compareTo​(@Nonnull
                             IdpAdapterName that)
        Specified by:
        compareTo in interface java.lang.Comparable<IdpAdapterName>