Class DefaultWorkspaceFilter
- java.lang.Object
-
- org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter
-
- All Implemented Interfaces:
Dumpable,WorkspaceFilter
- Direct Known Subclasses:
ScopedWorkspaceFilter
public class DefaultWorkspaceFilter extends Object implements Dumpable, WorkspaceFilter
Holds a list ofPathFilterSets.
-
-
Field Summary
Fields Modifier and Type Field Description static StringATTR_VERSIONstatic doubleSUPPORTED_VERSIONprotected doubleversion
-
Constructor Summary
Constructors Constructor Description DefaultWorkspaceFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidadd(PathFilterSet set)Add a #PathFilterSet for nodes items.voidadd(PathFilterSet nodeFilter, PathFilterSet propFilter)Add a #PathFilterSet for node and property items.voidaddPropertyFilterSet(PathFilterSet set)Deprecated.useadd(PathFilterSet, PathFilterSet)instead.booleancontains(String path)Checks if the given node path is contained (and by that also covered) in this workspace filter.booleancovers(String path)Checks if the given node path is covered in this workspace filter.voiddump(DumpContext ctx, boolean isLast)Dumps some human readable information using the given context.voiddumpCoverage(Node rootNode, ProgressTrackerListener listener)Dumps the coverage of this filter against the given node to the listener.voiddumpCoverage(Session session, ProgressTrackerListener listener, boolean skipJcrContent)Dumps the coverage of this filter using the given session.booleanequals(Object obj)PathFilterSetgetCoveringFilterSet(String path)Returns the filter set that covers the respective node path@Nullable Set<String>getDirectChildNamesTowardsFilterRoots(String path)Matches the given path with all filter roots.List<PathFilterSet>getFilterSets()Returns a list of path filter sets for node items.ImportModegetImportMode(String path)Returns the import mode for the given node path.List<PathFilterSet>getPropertyFilterSets()Returns a list of path filter sets for property items.InputStreamgetSource()Returns the source xml that constructs this filter It is the obligation of the caller to close the returned input stream.StringgetSourceAsString()Returns the source xml that constructs this filterinthashCode()booleanincludesProperty(String propertyPath)Tests if the given workspace filter includes the given property.booleanisAncestor(String path)Checks if the given node path is an ancestor of any of the filter sets.booleanisGloballyIgnored(String path)Checks if the given node path is globally ignored.voidload(File file)Loads the workspace filter from the given filevoidload(InputStream in)Loads the workspace filter from the given input source.voidload(Element doc)protected PathFilterreadFilter(Element elem)voidresetSource()Resets the source content to a null state.voidsetGlobalIgnored(PathFilter ignored)voidsetImportMode(ImportMode importMode)StringtoString()WorkspaceFiltertranslate(PathMapping mapping)Translates this workspace filter using the given path mapping.
-
-
-
Field Detail
-
ATTR_VERSION
public static final String ATTR_VERSION
- See Also:
- Constant Field Values
-
SUPPORTED_VERSION
public static final double SUPPORTED_VERSION
- See Also:
- Constant Field Values
-
version
protected double version
-
-
Method Detail
-
add
public void add(PathFilterSet set)
Add a #PathFilterSet for nodes items.- Parameters:
set- the set of filters to add.
-
add
public void add(PathFilterSet nodeFilter, PathFilterSet propFilter)
Add a #PathFilterSet for node and property items.- Parameters:
nodeFilter- the set of filters to add.propFilter- the set of filters to add.
-
addPropertyFilterSet
@Deprecated public void addPropertyFilterSet(PathFilterSet set)
Deprecated.useadd(PathFilterSet, PathFilterSet)instead.Add a #PathFilterSet for properties items.- Parameters:
set- the set of filters to add.
-
getFilterSets
public List<PathFilterSet> getFilterSets()
Returns a list of path filter sets for node items.- Specified by:
getFilterSetsin interfaceWorkspaceFilter- Returns:
- the list of path filter sets.
-
getPropertyFilterSets
public List<PathFilterSet> getPropertyFilterSets()
Returns a list of path filter sets for property items.- Specified by:
getPropertyFilterSetsin interfaceWorkspaceFilter- Returns:
- the list of path filter sets.
-
getCoveringFilterSet
public PathFilterSet getCoveringFilterSet(String path)
Returns the filter set that covers the respective node path- Specified by:
getCoveringFilterSetin interfaceWorkspaceFilter- Parameters:
path- the path- Returns:
- the filter set or
null
-
getImportMode
public ImportMode getImportMode(String path)
Returns the import mode for the given node path.- Specified by:
getImportModein interfaceWorkspaceFilter- Parameters:
path- path to check- Returns:
- the import mode or
ImportMode.REPLACEif the given path is not covered by this filter.
-
setImportMode
public void setImportMode(ImportMode importMode)
-
contains
public boolean contains(String path)
Checks if the given node path is contained (and by that also covered) in this workspace filter. It returnstrueif any of the filter sets contain the path and it's not globally ignored.If
WorkspaceFilter.contains(String)returnstruefor one path, alsoWorkspaceFilter.covers(String)would returntruefor the same path, but not vice-versa.- Specified by:
containsin interfaceWorkspaceFilter- Parameters:
path- to check- Returns:
trueif the given path is included in this filter.
-
covers
public boolean covers(String path)
Checks if the given node path is covered in this workspace filter. It only returnstrueif at least one of the sets covers the path and is not globally ignored.Still
WorkspaceFilter.contains(String)might returnfalsefor the same path in case there is some exclusion patterns matching the given path.- Specified by:
coversin interfaceWorkspaceFilter- Parameters:
path- the path to check- Returns:
trueif the given path is covered by this filter.
-
includesProperty
public boolean includesProperty(String propertyPath)
Description copied from interface:WorkspaceFilterTests if the given workspace filter includes the given property. If the filter does not cover the property, it returnstrue.- Specified by:
includesPropertyin interfaceWorkspaceFilter- Parameters:
propertyPath- the path to the property- Returns:
trueif the property is included in the filter
-
isAncestor
public boolean isAncestor(String path)
Checks if the given node path is an ancestor of any of the filter sets.- Specified by:
isAncestorin interfaceWorkspaceFilter- Parameters:
path- the item to check- Returns:
trueif the given item is an ancestor
-
getDirectChildNamesTowardsFilterRoots
@Nullable public @Nullable Set<String> getDirectChildNamesTowardsFilterRoots(String path)
Matches the given path with all filter roots. For each, if it is an ancestor or if it is unrelated to the path (neither ancestor, self or descendant), add the name of the first path segment of the remaining filter root "below" path to the result set.Will return
nullif that segment can not be determined for some filters.- Specified by:
getDirectChildNamesTowardsFilterRootsin interfaceWorkspaceFilter- Parameters:
path- Path to check- Returns:
- first path segments of non-matched paths, or
nullwhen result set can not be computed.
-
isGloballyIgnored
public boolean isGloballyIgnored(String path)
Checks if the given node path is globally ignored.- Specified by:
isGloballyIgnoredin interfaceWorkspaceFilter- Parameters:
path- the path to check.- Returns:
trueif the item is globally ignored.
-
translate
public WorkspaceFilter translate(PathMapping mapping)
Translates this workspace filter using the given path mapping.- Specified by:
translatein interfaceWorkspaceFilter- Parameters:
mapping- the path mapping- Returns:
- a new workspace filter
-
load
public void load(File file) throws IOException, ConfigurationException
Loads the workspace filter from the given file- Parameters:
file- source- Throws:
ConfigurationException- if the source is not validIOException- if an I/O error occurs
-
getSource
public InputStream getSource()
Returns the source xml that constructs this filter It is the obligation of the caller to close the returned input stream.- Specified by:
getSourcein interfaceWorkspaceFilter- Returns:
- the source xml
-
getSourceAsString
public String getSourceAsString()
Returns the source xml that constructs this filter- Specified by:
getSourceAsStringin interfaceWorkspaceFilter- Returns:
- the source xml
-
load
public void load(InputStream in) throws IOException, ConfigurationException
Loads the workspace filter from the given input source.The specified stream remains open after this method returns.
- Parameters:
in- source- Throws:
ConfigurationException- if the source is not validIOException- if an I/O error occurs
-
load
public void load(Element doc) throws ConfigurationException
- Throws:
ConfigurationException
-
readFilter
protected PathFilter readFilter(Element elem) throws ConfigurationException
- Throws:
ConfigurationException
-
dump
public void dump(DumpContext ctx, boolean isLast)
Dumps some human readable information using the given context.
-
resetSource
public void resetSource()
Resets the source content to a null state. This leads to generating the source from scratch if necessary. Is called implicitly for every modifying operation (add(PathFilterSet),add(PathFilterSet, PathFilterSet),addPropertyFilterSet(PathFilterSet),load(Element),load(InputStream)andload(File)).
-
setGlobalIgnored
public void setGlobalIgnored(PathFilter ignored)
-
dumpCoverage
public void dumpCoverage(Node rootNode, ProgressTrackerListener listener) throws RepositoryException
Dumps the coverage of this filter against the given node to the listener.- Specified by:
dumpCoveragein interfaceWorkspaceFilter- Parameters:
rootNode- root nodelistener- listener which receives coverage information- Throws:
RepositoryException- if an error occurs
-
dumpCoverage
public void dumpCoverage(Session session, ProgressTrackerListener listener, boolean skipJcrContent) throws RepositoryException
Dumps the coverage of this filter using the given session. IfskipJcrContentistruethe jcr:content nodes are excluded from traversal and reporting.- Specified by:
dumpCoveragein interfaceWorkspaceFilter- Parameters:
session- sessionlistener- listener which receives coverage informationskipJcrContent-trueto skip jcr:content nodes- Throws:
RepositoryException- if an error occurs
-
-