Package org.eclipse.aether.util
Class DirectoryUtils
- java.lang.Object
-
- org.eclipse.aether.util.DirectoryUtils
-
public final class DirectoryUtils extends java.lang.Object
A utility class to calculate (and create if needed) paths backed by directories using configuration properties from repository system session and others.- Since:
- 1.9.0
- See Also:
RepositorySystemSession.getConfigProperties()
,RepositorySystemSession.getLocalRepository()
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.nio.file.Path
resolveDirectory(java.lang.String name, java.nio.file.Path base, boolean mayCreate)
CreatesPath
instance out of passed inname
parameter.static java.nio.file.Path
resolveDirectory(org.eclipse.aether.RepositorySystemSession session, java.lang.String defaultName, java.lang.String nameKey, boolean mayCreate)
CreatesPath
instance out of session configuration, and (if relative) resolve it against local repository basedir.
-
-
-
Method Detail
-
resolveDirectory
public static java.nio.file.Path resolveDirectory(java.lang.String name, java.nio.file.Path base, boolean mayCreate) throws java.io.IOException
CreatesPath
instance out of passed inname
parameter. May create a directory on resulting path, if not exist, when invoked withmayCreate
beingtrue
. Never returnsnull
.Following outcomes may happen:
name
is absolute path - results inPath
instance created directly from name.name
is relative path - results inPath
instance resolved againstbase
parameter.
mayCreate
istrue
. If resulting path exist but is not a directory, this method will throw.- Parameters:
name
- The name to create directory with, cannot benull
.base
- The basePath
to resolve name, if it is relative path, cannot benull
.mayCreate
- If resulting path does not exist, should it create?- Returns:
- The
Path
instance that is resolved and backed by existing directory. - Throws:
java.io.IOException
- If some IO related errors happens.
-
resolveDirectory
public static java.nio.file.Path resolveDirectory(org.eclipse.aether.RepositorySystemSession session, java.lang.String defaultName, java.lang.String nameKey, boolean mayCreate) throws java.io.IOException
CreatesPath
instance out of session configuration, and (if relative) resolve it against local repository basedir. Pre-populates values and invokesresolveDirectory(String, Path, boolean)
.For this method to work,
LocalRepository.getBasedir()
must return non-null
value, otherwiseNullPointerException
is thrown.- Parameters:
session
- The session, may not benull
.defaultName
- The default value if not present in session configuration, may not benull
.nameKey
- The key to look up for in session configuration to obtain user set value.mayCreate
- If resulting path does not exist, should it create?- Returns:
- The
Path
instance that is resolved and backed by existing directory. - Throws:
java.io.IOException
- If some IO related errors happens.- See Also:
resolveDirectory(String, Path, boolean)
-
-