Class Name


  • final class Name
    extends java.lang.Object
    Immutable representation of a file name. Used both for the name components of paths and as the keys for directory entries.

    A name has both a display string (used in the toString() form of a Path as well as for Path equality and sort ordering) and a canonical string, which is used for determining equality of the name during file lookup.

    Note: all factory methods return a constant name instance when given the original string "." or "..", ensuring that those names can be accessed statically elsewhere in the code while still being equal to any names created for those values, regardless of normalization settings.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String canonical  
      private static com.google.common.collect.Ordering<Name> CANONICAL_ORDERING  
      private java.lang.String display  
      private static com.google.common.collect.Ordering<Name> DISPLAY_ORDERING  
      (package private) static Name EMPTY
      The empty name.
      static Name PARENT
      The name to use for a link from a directory to its parent directory.
      static Name SELF
      The name to use for a link from a directory to itself.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Name​(java.lang.String display, java.lang.String canonical)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static com.google.common.collect.Ordering<Name> canonicalOrdering()
      Returns an ordering that orders names by their canonical representation.
      static Name create​(java.lang.String display, java.lang.String canonical)
      Creates a name with the given display representation and the given canonical representation.
      static com.google.common.collect.Ordering<Name> displayOrdering()
      Returns an ordering that orders names by their display representation.
      boolean equals​(@Nullable java.lang.Object obj)  
      int hashCode()  
      (package private) static Name simple​(java.lang.String name)
      Creates a new name with no normalization done on the given string.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY

        static final Name EMPTY
        The empty name.
      • SELF

        public static final Name SELF
        The name to use for a link from a directory to itself.
      • PARENT

        public static final Name PARENT
        The name to use for a link from a directory to its parent directory.
      • display

        private final java.lang.String display
      • canonical

        private final java.lang.String canonical
      • DISPLAY_ORDERING

        private static final com.google.common.collect.Ordering<Name> DISPLAY_ORDERING
      • CANONICAL_ORDERING

        private static final com.google.common.collect.Ordering<Name> CANONICAL_ORDERING
    • Constructor Detail

      • Name

        private Name​(java.lang.String display,
                     java.lang.String canonical)
    • Method Detail

      • simple

        static Name simple​(java.lang.String name)
        Creates a new name with no normalization done on the given string.
      • create

        public static Name create​(java.lang.String display,
                                  java.lang.String canonical)
        Creates a name with the given display representation and the given canonical representation.
      • equals

        public boolean equals​(@Nullable java.lang.Object obj)
        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
      • displayOrdering

        public static com.google.common.collect.Ordering<Name> displayOrdering()
        Returns an ordering that orders names by their display representation.
      • canonicalOrdering

        public static com.google.common.collect.Ordering<Name> canonicalOrdering()
        Returns an ordering that orders names by their canonical representation.