Class ContentFilter

  • All Implemented Interfaces:
    Serializable, Filter<Content>

    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.

    See Also:
    Serialized Form
    • 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 - true all JDOM objects are visible, false all 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 of Element objects.
        Parameters:
        visible - whether Elements are visible, true if yes, false if not
      • setCDATAVisible

        public void setCDATAVisible​(boolean visible)
        Set visiblity of CDATA objects.
        Parameters:
        visible - whether CDATA nodes are visible, true if yes, false if not
      • setTextVisible

        public void setTextVisible​(boolean visible)
        Set visiblity of Text objects.
        Parameters:
        visible - whether Text nodes are visible, true if yes, false if not
      • setCommentVisible

        public void setCommentVisible​(boolean visible)
        Set visiblity of Comment objects.
        Parameters:
        visible - whether Comments are visible, true if yes, false if not
      • setPIVisible

        public void setPIVisible​(boolean visible)
        Set visiblity of ProcessingInstruction objects.
        Parameters:
        visible - whether ProcessingInstructions are visible, true if yes, false if not
      • setEntityRefVisible

        public void setEntityRefVisible​(boolean visible)
        Set visiblity of EntityRef objects.
        Parameters:
        visible - whether EntityRefs are visible, true if yes, false if not
      • setDocTypeVisible

        public void setDocTypeVisible​(boolean visible)
        Set visiblity of DocType objects.
        Parameters:
        visible - whether the DocType is visible, true if yes, false if not
      • filter

        public Content filter​(Object obj)
        Check to see if the object matches according to the filter mask.
        Parameters:
        obj - The object to verify.
        Returns:
        true if the objected matched a predfined set of rules.
      • equals

        public boolean equals​(Object obj)
        Returns whether the two filters are equivalent (i.e. the matching mask values are identical).
        Overrides:
        equals in class Object
        Parameters:
        obj - the object to compare against
        Returns:
        whether the two filters are equal
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object