public class WebappStructure extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
WebappStructure.DependenciesAnalysisCallback
Callback interface to handle events related to dependencies analysis.
|
static interface |
WebappStructure.RegistrationCallback
Callback interface to handle events related to filepath registration in
the webapp.
|
Constructor and Description |
---|
WebappStructure(List dependencies)
Creates a new empty instance.
|
WebappStructure(List dependencies,
WebappStructure cache)
Creates a new instance with the specified cache.
|
Modifier and Type | Method and Description |
---|---|
void |
analyseDependencies(WebappStructure.DependenciesAnalysisCallback callback)
Analyze the dependencies of the project using the specified callback.
|
String |
getCachedTargetFileName(org.apache.maven.model.Dependency dependency)
Returns the cached target file name that matches the specified
dependency, that is the target file name of the previous run.
|
List |
getDependencies()
Returns the dependencies of the project.
|
List |
getDependenciesInfo()
Returns the list of
DependencyInfo for the project. |
PathSet |
getFullStructure()
Returns all paths that have been registered so far.
|
String |
getOwner(String path)
Returns the owner of the specified path.
|
Set |
getOwners()
Returns the owners.
|
PathSet |
getStructure(String id)
Returns the list of registered files for the specified owner.
|
boolean |
isRegistered(String path)
Specify if the specified path is registered or not.
|
boolean |
registerFile(String id,
String path)
Registers the specified path for the specified owner.
|
void |
registerFile(String id,
String path,
WebappStructure.RegistrationCallback callback)
Registers the specified path for the specified owner.
|
boolean |
registerFileForced(String id,
String path)
Forces the registration of the specified path for the specified owner.
|
void |
registerTargetFileName(org.apache.maven.artifact.Artifact artifact,
String targetFileName)
Registers the target file name for the specified artifact.
|
public WebappStructure(List dependencies)
dependencies
- the dependencies of the projectpublic WebappStructure(List dependencies, WebappStructure cache)
dependencies
- the dependencies of the projectcache
- the cachepublic List getDependenciesInfo()
DependencyInfo
for the project.public List getDependencies()
public boolean isRegistered(String path)
path
- the relative path from the webapp root directorypublic boolean registerFile(String id, String path)
id
- the owner of the pathpath
- the relative path from the webapp root directorypublic boolean registerFileForced(String id, String path)
registerFile(String, String)
; returns true if an
owner replacement was made and false if the file was simply registered
for the first time.id
- the owner of the pathpath
- the relative path from the webapp root directorypublic void registerFile(String id, String path, WebappStructure.RegistrationCallback callback) throws IOException
id
- the owner of the pathpath
- the relative path from the webapp root directorycallback
- the callback to invoke with the result of the registrationIOException
- if the callback invocation throws an IOExceptionpublic String getOwner(String path)
path
- the relative path from the webapp root directorypublic Set getOwners()
Set
may be
inconsistent since it represents a persistent cache across multiple
invocations.
For instance, if an overlay was removed in this execution, it will be
still be there till the cache is cleaned. This happens when the clean
mojo is invoked.public PathSet getFullStructure()
public PathSet getStructure(String id)
id
- the ownerpublic void analyseDependencies(WebappStructure.DependenciesAnalysisCallback callback)
callback
- the callback to use to report the result of the analysispublic void registerTargetFileName(org.apache.maven.artifact.Artifact artifact, String targetFileName)
artifact
- the artifacttargetFileName
- the target file namepublic String getCachedTargetFileName(org.apache.maven.model.Dependency dependency)
dependency
- a dependencyCopyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.