Package com.google.common.jimfs
Class Name
- java.lang.Object
-
- com.google.common.jimfs.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 aPath
as well as forPath
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()
-
-
-
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
-
-
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 classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.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.
-
-