com.hp.hpl.mesa.rdf.jena.common
Class SelectorImpl

java.lang.Object
  |
  +--com.hp.hpl.mesa.rdf.jena.common.SelectorImpl
All Implemented Interfaces:
Selector
Direct Known Subclasses:
DAMLSelector

public class SelectorImpl
extends java.lang.Object
implements Selector

A general selector class for use when querying models.

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.

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.

Version:
Release='$Name: $ $Revision: 1.5 $ $Date: 2001/07/04 17:54:01 $
Author:
bwm

Constructor Summary
SelectorImpl()
          Create a selector.
SelectorImpl(Resource subject, Property predicate, boolean object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, char object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, double object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, float object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, long object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, java.lang.Object object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, RDFNode object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, java.lang.String object)
          Create a selector.
SelectorImpl(Resource subject, Property predicate, java.lang.String object, java.lang.String language)
          Create a selector.
 
Method Summary
 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 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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectorImpl

public SelectorImpl()
Create a selector. Since no subject, predicate or object constraints are specified a model will test all statements.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    RDFNode object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    boolean object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    long object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    char object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    float object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    double object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    java.lang.String object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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 string

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    java.lang.String object,
                    java.lang.String language)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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 string
language - the language of the object constraint

SelectorImpl

public SelectorImpl(Resource subject,
                    Property predicate,
                    java.lang.Object object)
Create a selector. A model may restrict statements that are tested using the 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.
Parameters:
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.
Method Detail

getSubject

public Resource getSubject()
Return the subject constraint of this selector.
Returns:
the subject constraint

getPredicate

public Property getPredicate()
Return the predicate constraint of this selector.
Returns:
the predicate constraint

getObject

public RDFNode getObject()
Return the object constraint of this selector.
Returns:
the object constraint

test

public boolean test(Statement s)
Test whether a statement should be included in a selection. This method tests whether the supplied statement satisfies the subject, predicate and object constraints of the selector and then tests whether it matches the application provided selects method.
Specified by:
test in interface Selector
Parameters:
s - the statement to be tested
Returns:
true if the statement satisfies the subject, object and predicate constraints and the selects constraint.

selects

public boolean selects(Statement s)
This method is designed to be over ridden by subclasses to define application specific constraints on the statements selected.
Parameters:
s - the statement to be tested
Returns:
true if the statement satisfies the constraint


Copyright 2001 Hewlett-Packard. All Rights Reserved.