Class ContentFilter

  • All Implemented Interfaces:
    java.io.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.

    Author:
    Bradley S. Huffman
    See Also:
    Serialized Form
    • 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
      boolean equals​(java.lang.Object obj)
      Returns whether the two filters are equivalent (i.e. the matching mask values are identical).
      Content filter​(java.lang.Object obj)
      Check to see if the object matches according to the filter mask.
      int getFilterMask()
      Return current filtering mask.
      int hashCode()  
      void setCDATAVisible​(boolean visible)
      Set visibility of CDATA objects.
      void setCommentVisible​(boolean visible)
      Set visibility of Comment objects.
      void setDefaultMask()
      Set this filter to allow all legal JDOM objects.
      void setDocTypeVisible​(boolean visible)
      Set visibility of DocType objects.
      void setDocumentContent()
      Set filter to match only JDOM objects that are legal document content.
      void setElementContent()
      Set filter to match only JDOM objects that are legal element content.
      void setElementVisible​(boolean visible)
      Set visibility of Element objects.
      void setEntityRefVisible​(boolean visible)
      Set visibility of EntityRef objects.
      void setFilterMask​(int mask)
      Set filtering mask.
      void setPIVisible​(boolean visible)
      Set visibility of ProcessingInstruction objects.
      void setTextVisible​(boolean visible)
      Set visibility of Text objects.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • 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 visibility of Element objects.
        Parameters:
        visible - whether Elements are visible, true if yes, false if not
      • setCDATAVisible

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

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

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

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

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

        public void setDocTypeVisible​(boolean visible)
        Set visibility of DocType objects.
        Parameters:
        visible - whether the DocType is visible, true if yes, false if 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:
        true if 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:
        equals in class java.lang.Object
        Parameters:
        obj - the object to compare against
        Returns:
        whether the two filters are equal
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object