01: /*
02: (c) Copyright 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP, all rights reserved.
03: [See end of file]
04: $Id: TripleBoundary.java,v 1.5 2008/01/02 12:06:55 andy_seaborne Exp $
05: */
06:
07: package com.hp.hpl.jena.graph;
08:
09: /**
10: An interface for expressing a stopping condition on triples, such as in
11: sub-graph extraction.
12:
13: @author hedgehog
14: */
15: public interface TripleBoundary {
16: /**
17: Answer true if this triple is a stopping triple, and whatever search is using
18: this interface should proceed no further.
19: */
20: boolean stopAt(Triple t);
21:
22: /**
23: A TripleBoundary without limits - stopAt always returns false.
24: */
25: public static final TripleBoundary stopNowhere = new TripleBoundary() {
26: public boolean stopAt(Triple t) {
27: return false;
28: }
29: };
30:
31: /**
32: A TripleBoundary that stops at triples with anonymous objects.
33: */
34: public static final TripleBoundary stopAtAnonObject = new TripleBoundary() {
35: public boolean stopAt(Triple t) {
36: return t.getObject().isBlank();
37: }
38: };
39:
40: }
41:
42: /*
43: (c) Copyright 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
44: All rights reserved.
45:
46: Redistribution and use in source and binary forms, with or without
47: modification, are permitted provided that the following conditions
48: are met:
49:
50: 1. Redistributions of source code must retain the above copyright
51: notice, this list of conditions and the following disclaimer.
52:
53: 2. Redistributions in binary form must reproduce the above copyright
54: notice, this list of conditions and the following disclaimer in the
55: documentation and/or other materials provided with the distribution.
56:
57: 3. The name of the author may not be used to endorse or promote products
58: derived from this software without specific prior written permission.
59:
60: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
61: IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
62: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
63: IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
64: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
65: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
66: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
67: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
68: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
69: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
70: */
|