Class Path
java.lang.Object
it.unimi.di.prog2.temisvolti.filesystem.Path
Classe immutabile che rappresenta un path.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Path
Costante corrispondente al path vuoto (path relativo, senza parti)private final boolean
Indica se il path è assouto.Contiene le componenti del path.static final Path
Costante corrispondente al path radice (path assoluto, senza parti)static final String
Carattere separatore delle parti di un percorso -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Path
fromString
(String path) Metodo di fabbricazione che restituisce un path a partire da una stringa.boolean
Consente di sapere se il path è assoluto.iterator()
name()
Restituisce l'ultima componente di questo path.parent()
Restituisce il prefisso di questo path a meno dell'ultima componente (o quello vuoto, se questo è vuoto).relativize
(Path other) Costruisce un path relativo tra questo e quello dato.Risolve il path dato rispetto a questo.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
SEPARATOR
Carattere separatore delle parti di un percorso- See Also:
-
ROOT
Costante corrispondente al path radice (path assoluto, senza parti) -
EMPTY
Costante corrispondente al path vuoto (path relativo, senza parti) -
isAbsolute
private final boolean isAbsoluteIndica se il path è assouto. -
parts
Contiene le componenti del path.
-
-
Constructor Details
-
Path
Costruisce un path a partire da un elenco di stringhe e dall'informazione se sia assoluto o meno.- Parameters:
isAbsolute
- indica se il path è assoluto.parts
- elenco di stringhe che costiuiscono le parti del percorso.- Throws:
NullPointerException
- se leparts
è o contienenull
.InvalidPathException
- se una della parti è vuota, o contiene il separatore.
-
-
Method Details
-
fromString
Metodo di fabbricazione che restituisce un path a partire da una stringa.Alcuni esempi di percorso sono:
- ":A:B:C", percorso assoluto con parti A, B e C,
- "B:C", percorso relativo con parti A, B e C,
- ":", percorso assoluto corrispondente alla radice del filesystem,
- "", percorso vuoto (relativo).
- Parameters:
path
- la stringa che corrisponde alla rappresentazione testuale del path.- Returns:
- il path corrispondente alla stringa.
- Throws:
NullPointerException
- se path ènull
InvalidPathException
- se nella stringa compaiono due separatori immediatamente consecutivi.
-
isAbsolute
public boolean isAbsolute()Consente di sapere se il path è assoluto.- Returns:
true
sse il path è assoluto.
-
parent
Restituisce il prefisso di questo path a meno dell'ultima componente (o quello vuoto, se questo è vuoto).- Returns:
- un path corrispondente a questo, ma privato dell'ultima componente (se presente).
-
name
Restituisce l'ultima componente di questo path.- Returns:
- l'ultima componente di questo path, o
null
se il path è vuoto.
-
resolve
Risolve il path dato rispetto a questo.Se il path dato come parametro è assoluto esso viene banalmente restituito, se è vuoto, viene invece restituito questo path. In ogni altro caso, questo path viene considearato una directory alla quale sono aggiunte le parti de path passato come argomento (che è relativo); il risultato è assoluto sse lo è questo path.
Per esempio, se questo path è :A:B e il parametro è C:D la risoluzione è :A:B:C:D.
- Parameters:
other
- il percorso da risolvere.- Returns:
- il percorso risolto.
-
relativize
Costruisce un path relativo tra questo e quello dato.La relativizzazione è l'inverso di
resolve(Path)
, restituisce un path che identifica lo stesso file se risolto rispetto a questo.Per esempio, se questo path è :A:B e il parametro è :A:B:C:D la relativizzazione è C:D.
- Parameters:
other
- l'altro path.- Returns:
- il path relativizzato.
- Throws:
IllegalArgumentException
- se questo path non è assoluto, ma lo è l'argomento, o se l'elenco di parti di quest questo path non è (come lista) prefisso di quelle dell'argomento.
-
toString
-
iterator
-