Class FilterHandler
- java.lang.Object
-
- org.bedework.caldav.server.filter.FilterHandler
-
- All Implemented Interfaces:
org.bedework.util.logging.Logged
public class FilterHandler extends Object implements org.bedework.util.logging.Logged
Class to represent a calendar-query filter10.3.1 CALDAV:comp-filter XML Element Name: comp-filter Namespace: urn:ietf:params:xml:ns:caldav Purpose: Limits the search to only the chosen component types. Description: The "name" attribute is an iCalendar component type (e.g., "VEVENT"). When this element is present, the server should only return a component if it matches the filter, which is to say: A component of the type specified by the "name" attribute exists, and the CALDAV:comp-filter is empty, OR it contains at least one recurrence instance scheduled to overlap a given time range if a CALDAV:time-range XML element is specified, and that any CALDAV:prop-filter and CALDAV:comp-filter child elements also match. 10.3.2 CALDAV:prop-filter XML Element Name: prop-filter Namespace: urn:ietf:params:xml:ns:caldav Purpose: Limits the search to specific properties. Description: The "name" attribute MUST contain an iCalendar property name (e.g., "ATTENDEE"). When the 'prop-filter' executes, a property matches if: A property of the type specified by the "name" attribute exists, and the CALDAV:prop-filter is empty, OR it matches the CALDAV:time-range XML element or CALDAV:text-match conditions if specified, and that any CALDAV:param-filter child elements also match. or: A property of the type specified by the "name" attribute does not exist, and the CALDAV:is-not-defined element is specified. 10.3.3 CALDAV:param-filter XML Element Name: param-filter Namespace: urn:ietf:params:xml:ns:caldav Purpose: Limits the search to specific parameters. Description: The "param-filter" element limits the search result to the set of resources containing properties with parameters that meet the parameter filter rules. When this filter executes, a parameter matches if: ("is-defined matches" OR "text-match matches")- Author:
- Mike Douglass douglm @ rpi.edu
-
-
Constructor Summary
Constructors Constructor Description FilterHandler(ietf.params.xml.ns.caldav.FilterType f)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.bedework.util.logging.BwLoggergetLogger()Collection<org.bedework.webdav.servlet.shared.WebdavNsNode>postFilter(Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> nodes)Carry out any postfiltering on the collection of initialised nodes,Collection<CalDAVEvent<?>>query(CaldavBwNode wdnode, List<String> retrieveList, RetrievalMode retrieveRecur)Use the given query to return a collection of nodes.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bedework.util.logging.Logged
audit, debug, debug, enableAuditLogger, enableErrorLogger, enableMetricsLogger, error, error, error, getLogLevel, info, isAuditLoggerEnabled, isErrorLoggerEnabled, isMetricsDebugEnabled, isMetricsLoggerEnabled, metrics, setLoggerClass, setLoggerClass, trace, trace, warn
-
-
-
-
Method Detail
-
query
public Collection<CalDAVEvent<?>> query(CaldavBwNode wdnode, List<String> retrieveList, RetrievalMode retrieveRecur) throws org.bedework.webdav.servlet.shared.WebdavException
Use the given query to return a collection of nodes. An exception will be raised if the entire query fails for some reason (access, etc). An empty collection will be returned if no objects match.- Parameters:
wdnode- WebdavNsNode defining root of searchretrieveList- If non-null limit required fields.retrieveRecur- How we retrieve recurring events- Returns:
- Collection of event objects (null or empty for no result)
- Throws:
org.bedework.webdav.servlet.shared.WebdavException- on error
-
postFilter
public Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> postFilter(Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> nodes) throws org.bedework.webdav.servlet.shared.WebdavException
Carry out any postfiltering on the collection of initialised nodes,- Parameters:
nodes- Collection of initialised CaldavBwNode- Returns:
- Collection of filtered nodes (empty for no result)
- Throws:
org.bedework.webdav.servlet.shared.WebdavException- on error
-
getLogger
public org.bedework.util.logging.BwLogger getLogger()
- Specified by:
getLoggerin interfaceorg.bedework.util.logging.Logged
-
-