public class SimpleSelector extends Object implements Selector
An instance of this class is passed with query calls to models. The model
will use the test
method of this class to decide whether
a statement should be included in the selection.
Instances of this class can be provided with subject, predicate and object constraints. If a subject, a predicate or an object are provided, the model implementation may restrict the statements that it tests to statements whose subject, predicate and object match those provided in the constructor. This can provide for considerably more efficient searching. However, the model implementation is not required to do this. If no subject, predicate or object are provided in the constructor, then all statements in the model must be tested.
This class is designed to be subclassed by the application, defining
defining further selection criteria of its own by providing its own
selects
method.
A direct instance of SimpleSelector returns true
for the
Selector::isSimple() predicate. Instances of subclasses of SimpleSelector
return false
, since the only reason to have such subclasses
is to provide a non-trivial test
predicate or S/P/O tests other
than equality.
The test
method first verifies that a statement satisfies
any subject, predicate or object constraints and the calls the
selects
method to test for any application supplied constraint. The
default selects
method simply returns true.
Constructor and Description |
---|
SimpleSelector()
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
boolean object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
char object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
double object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
float object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
long object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
Object object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
RDFNode object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
String object)
Create a selector.
|
SimpleSelector(Resource subject,
Property predicate,
String object,
String language)
Create a selector.
|
Modifier and Type | Method and Description |
---|---|
RDFNode |
getObject()
Return the object constraint of this selector.
|
Property |
getPredicate()
Return the predicate constraint of this selector.
|
Resource |
getSubject()
Return the subject constraint of this selector.
|
boolean |
isSimple()
Answer true iff this Selector is completely characterised by its
S/P/O triple.
|
boolean |
selects(Statement s)
This method is designed to be over ridden by subclasses to define application
specific constraints on the statements selected.
|
boolean |
test(Statement s)
Test whether a statement should be included in a selection.
|
public SimpleSelector()
public SimpleSelector(Resource subject, Property predicate, RDFNode object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- if not null, the object of selected statements
must equal this argument.public SimpleSelector(Resource subject, Property predicate, boolean object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- if not null, the object of selected statements
must equal this argument.public SimpleSelector(Resource subject, Property predicate, long object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- the object of selected statements
must equal this argument.public SimpleSelector(Resource subject, Property predicate, char object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- the object of selected statements
must equal this argument.public SimpleSelector(Resource subject, Property predicate, float object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- the object of selected statements
must equal this argument.public SimpleSelector(Resource subject, Property predicate, double object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- the object of selected statements
must equal this argument.public SimpleSelector(Resource subject, Property predicate, String object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- the object of selected statements
must equal this argument - a null string matches the empty stringpublic SimpleSelector(Resource subject, Property predicate, String object, String language)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- the object of selected statements
must equal this argument - the null string matches the empty stringlanguage
- the language of the object constraintpublic SimpleSelector(Resource subject, Property predicate, Object object)
selects
method to those whose subject matches the
subject parameter, whose predicate matches the predicate parameter and whose
object matches the object paramater. Any null parameter is considered to
match anything.subject
- if not null, the subject of selected statements
must equal this argument.predicate
- if not null, the predicate of selected statements
must equal this argument.object
- if not null, the object of selected statements
must equal this argument.public Resource getSubject()
getSubject
in interface Selector
public Property getPredicate()
getPredicate
in interface Selector
public RDFNode getObject()
public boolean isSimple()
public boolean test(Statement s)
selects
method.public boolean selects(Statement s)
s
- the statement to be testedLicenced under the Apache License, Version 2.0