Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Filter strawman Interface

In an attempt to build a filter interface which matches the rest of the IdAS interfaces (while allowing the full functionality SPARQL would offer), I _quickly_ threw this together.
 
There are two interfaces (a human-readable string format would be derived from this, but I didn't have time for that yet):
 
IFilterAssertion is used to construct a basic attribute assertion.  You set the comparator/matching rule (equality, ordering, etc), and the attribute type, and an assertion value. 
- To accommodate the need to further qualify attribute types by metadata, you can specify a metadata filter while specifying the type.
- The assertion value is simply an IPropertyValue which may either be simple or complex. When complex, it may be partial -- allowing for sub-portions of a value to be specified.  We would want to add some overloaded convenience methods for some simple types of course.
 
IFilter is used to build logical filters.  It's made up of either an assertion, or an operator and set of nested IFilter objects.  This allows arbitrarily complex filters to be constructed (see the example in the javadoc).
 
IFilter is the final construct that would be passed to IContext.getSubjects();
 
Jim

Back to the top