Package org.jdom2.filter
Class ContentFilter
- All Implemented Interfaces:
Serializable,Filter<Content>
A general purpose Filter able to represent all legal JDOM objects or a
specific subset. Filtering is accomplished by way of a filtering mask in
which each bit represents whether a JDOM object is visible or not.
For example to view all Text and CDATA nodes in the content of element x.
Filter filter = new ContentFilter(ContentFilter.TEXT |
ContentFilter.CDATA);
List content = x.getContent(filter);
For those who don't like bit-masking, set methods are provided as an alternative. For example to allow everything except Comment nodes.
Filter filter = new ContentFilter();
filter.setCommentVisible(false);
List content = x.getContent(filter);
The default is to allow all valid JDOM objects.
- Author:
- Bradley S. Huffman
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMask for JDOMCDATAobjectsstatic final intMask for JDOMCommentobjectsstatic final intMask for JDOMDocTypeobjectstatic final intMask for JDOMDocumentobjectstatic final intMask for JDOMElementobjectsstatic final intMask for JDOMEntityRefobjectsstatic final intMask for JDOMProcessingInstructionobjectsstatic final intMask for JDOMTextobjects -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor that allows any legal JDOM objects.ContentFilter(boolean allVisible) Set whether all JDOM objects are visible or not.ContentFilter(int mask) Filter out JDOM objects according to a filtering mask. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns whether the two filters are equivalent (i.e. the matching mask values are identical).Check to see if the object matches according to the filter mask.intReturn current filtering mask.inthashCode()voidsetCDATAVisible(boolean visible) Set visibility ofCDATAobjects.voidsetCommentVisible(boolean visible) Set visibility ofCommentobjects.voidSet this filter to allow all legal JDOM objects.voidsetDocTypeVisible(boolean visible) Set visibility ofDocTypeobjects.voidSet filter to match only JDOM objects that are legal document content.voidSet filter to match only JDOM objects that are legal element content.voidsetElementVisible(boolean visible) Set visibility ofElementobjects.voidsetEntityRefVisible(boolean visible) Set visibility ofEntityRefobjects.voidsetFilterMask(int mask) Set filtering mask.voidsetPIVisible(boolean visible) Set visibility ofProcessingInstructionobjects.voidsetTextVisible(boolean visible) Set visibility ofTextobjects.
-
Field Details
-
ELEMENT
public static final int ELEMENTMask for JDOMElementobjects- See Also:
-
CDATA
public static final int CDATAMask for JDOMCDATAobjects- See Also:
-
TEXT
public static final int TEXTMask for JDOMTextobjects- See Also:
-
COMMENT
public static final int COMMENTMask for JDOMCommentobjects- See Also:
-
PI
public static final int PIMask for JDOMProcessingInstructionobjects- See Also:
-
ENTITYREF
public static final int ENTITYREFMask for JDOMEntityRefobjects- See Also:
-
DOCUMENT
public static final int DOCUMENTMask for JDOMDocumentobject- See Also:
-
DOCTYPE
public static final int DOCTYPEMask for JDOMDocTypeobject- See Also:
-
-
Constructor Details
-
ContentFilter
public ContentFilter()Default constructor that allows any legal JDOM objects. -
ContentFilter
public ContentFilter(boolean allVisible) Set whether all JDOM objects are visible or not.- Parameters:
allVisible-trueall JDOM objects are visible,falseall JDOM objects are hidden.
-
ContentFilter
public ContentFilter(int mask) Filter out JDOM objects according to a filtering mask.- Parameters:
mask- Mask of JDOM objects to allow.
-
-
Method Details
-
getFilterMask
public int getFilterMask()Return current filtering mask.- Returns:
- the current filtering mask
-
setFilterMask
public void setFilterMask(int mask) Set filtering mask.- Parameters:
mask- the new filtering mask
-
setDefaultMask
public void setDefaultMask()Set this filter to allow all legal JDOM objects. -
setDocumentContent
public void setDocumentContent()Set filter to match only JDOM objects that are legal document content. -
setElementContent
public void setElementContent()Set filter to match only JDOM objects that are legal element content. -
setElementVisible
public void setElementVisible(boolean visible) Set visibility ofElementobjects.- Parameters:
visible- whether Elements are visible,trueif yes,falseif not
-
setCDATAVisible
public void setCDATAVisible(boolean visible) Set visibility ofCDATAobjects.- Parameters:
visible- whether CDATA nodes are visible,trueif yes,falseif not
-
setTextVisible
public void setTextVisible(boolean visible) Set visibility ofTextobjects.- Parameters:
visible- whether Text nodes are visible,trueif yes,falseif not
-
setCommentVisible
public void setCommentVisible(boolean visible) Set visibility ofCommentobjects.- Parameters:
visible- whether Comments are visible,trueif yes,falseif not
-
setPIVisible
public void setPIVisible(boolean visible) Set visibility ofProcessingInstructionobjects.- Parameters:
visible- whether ProcessingInstructions are visible,trueif yes,falseif not
-
setEntityRefVisible
public void setEntityRefVisible(boolean visible) Set visibility ofEntityRefobjects.- Parameters:
visible- whether EntityRefs are visible,trueif yes,falseif not
-
setDocTypeVisible
public void setDocTypeVisible(boolean visible) Set visibility ofDocTypeobjects.- Parameters:
visible- whether the DocType is visible,trueif yes,falseif not
-
filter
Check to see if the object matches according to the filter mask.- Parameters:
obj- The object to verify.- Returns:
trueif the objected matched a predfined set of rules.
-
equals
Returns whether the two filters are equivalent (i.e. the matching mask values are identical). -
hashCode
public int hashCode()
-