Package org.jdom2.filter
Class ContentFilter
- java.lang.Object
-
- org.jdom2.filter.AbstractFilter<Content>
-
- org.jdom2.filter.ContentFilter
-
public class ContentFilter extends AbstractFilter<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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static intCDATAMask for JDOMCDATAobjectsstatic intCOMMENTMask for JDOMCommentobjectsstatic intDOCTYPEMask for JDOMDocTypeobjectstatic intDOCUMENTMask for JDOMDocumentobjectstatic intELEMENTMask for JDOMElementobjectsstatic intENTITYREFMask for JDOMEntityRefobjectsstatic intPIMask for JDOMProcessingInstructionobjectsstatic intTEXTMask for JDOMTextobjects
-
Constructor Summary
Constructors Constructor Description ContentFilter()Default 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Returns whether the two filters are equivalent (i.e. the matching mask values are identical).Contentfilter(java.lang.Object obj)Check to see if the object matches according to the filter mask.intgetFilterMask()Return current filtering mask.inthashCode()voidsetCDATAVisible(boolean visible)Set visiblity ofCDATAobjects.voidsetCommentVisible(boolean visible)Set visiblity ofCommentobjects.voidsetDefaultMask()Set this filter to allow all legal JDOM objects.voidsetDocTypeVisible(boolean visible)Set visiblity ofDocTypeobjects.voidsetDocumentContent()Set filter to match only JDOM objects that are legal document content.voidsetElementContent()Set filter to match only JDOM objects that are legal element content.voidsetElementVisible(boolean visible)Set visiblity ofElementobjects.voidsetEntityRefVisible(boolean visible)Set visiblity ofEntityRefobjects.voidsetFilterMask(int mask)Set filtering mask.voidsetPIVisible(boolean visible)Set visiblity ofProcessingInstructionobjects.voidsetTextVisible(boolean visible)Set visiblity ofTextobjects.
-
-
-
Field Detail
-
ELEMENT
public static final int ELEMENT
Mask for JDOMElementobjects- See Also:
- Constant Field Values
-
CDATA
public static final int CDATA
Mask for JDOMCDATAobjects- See Also:
- Constant Field Values
-
TEXT
public static final int TEXT
Mask for JDOMTextobjects- See Also:
- Constant Field Values
-
COMMENT
public static final int COMMENT
Mask for JDOMCommentobjects- See Also:
- Constant Field Values
-
PI
public static final int PI
Mask for JDOMProcessingInstructionobjects- See Also:
- Constant Field Values
-
ENTITYREF
public static final int ENTITYREF
Mask for JDOMEntityRefobjects- See Also:
- Constant Field Values
-
DOCUMENT
public static final int DOCUMENT
Mask for JDOMDocumentobject- See Also:
- Constant Field Values
-
DOCTYPE
public static final int DOCTYPE
Mask for JDOMDocTypeobject- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 Detail
-
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 visiblity ofElementobjects.- Parameters:
visible- whether Elements are visible,trueif yes,falseif not
-
setCDATAVisible
public void setCDATAVisible(boolean visible)
Set visiblity ofCDATAobjects.- Parameters:
visible- whether CDATA nodes are visible,trueif yes,falseif not
-
setTextVisible
public void setTextVisible(boolean visible)
Set visiblity ofTextobjects.- Parameters:
visible- whether Text nodes are visible,trueif yes,falseif not
-
setCommentVisible
public void setCommentVisible(boolean visible)
Set visiblity ofCommentobjects.- Parameters:
visible- whether Comments are visible,trueif yes,falseif not
-
setPIVisible
public void setPIVisible(boolean visible)
Set visiblity ofProcessingInstructionobjects.- Parameters:
visible- whether ProcessingInstructions are visible,trueif yes,falseif not
-
setEntityRefVisible
public void setEntityRefVisible(boolean visible)
Set visiblity ofEntityRefobjects.- Parameters:
visible- whether EntityRefs are visible,trueif yes,falseif not
-
setDocTypeVisible
public void setDocTypeVisible(boolean visible)
Set visiblity ofDocTypeobjects.- Parameters:
visible- whether the DocType is visible,trueif yes,falseif not
-
filter
public Content filter(java.lang.Object obj)
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
public boolean equals(java.lang.Object obj)
Returns whether the two filters are equivalent (i.e. the matching mask values are identical).- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- the object to compare against- Returns:
- whether the two filters are equal
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-