01: /*
02: (c) Copyright 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
03: [See end of file]
04: $Id: SlotValuator.java,v 1.6 2008/01/02 12:07:57 andy_seaborne Exp $
05: */
06:
07: package com.hp.hpl.jena.graph.query;
08:
09: /**
10: A SlotValuator evaluates to a specific slot in the index values
11: bindings.
12: @author hedgehog
13: */
14:
15: public class SlotValuator implements Valuator {
16: /**
17: The index in the index values which this SlotValuator
18: looks up.
19: */
20: private int index;
21:
22: /**
23: Initialise this SlotValuator with the index to use for lookup.
24: */
25: public SlotValuator(int index) {
26: this .index = index;
27: }
28:
29: /**
30: Answer the value of the <code>index</code>th element of the
31: index values bindings.
32: */
33: public Object evalObject(IndexValues iv) {
34: return iv.get(index);
35: }
36:
37: /**
38: Answer the primitive boolean value of the <code>index</code>th
39: element of the index value bindings, which must be a
40: <code>Boolean</code> value.
41: */
42: public boolean evalBool(IndexValues iv) {
43: return ((Boolean) evalObject(iv)).booleanValue();
44: }
45: }
46:
47: /*
48: (c) Copyright 2004, 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
49: All rights reserved.
50:
51: Redistribution and use in source and binary forms, with or without
52: modification, are permitted provided that the following conditions
53: are met:
54:
55: 1. Redistributions of source code must retain the above copyright
56: notice, this list of conditions and the following disclaimer.
57:
58: 2. Redistributions in binary form must reproduce the above copyright
59: notice, this list of conditions and the following disclaimer in the
60: documentation and/or other materials provided with the distribution.
61:
62: 3. The name of the author may not be used to endorse or promote products
63: derived from this software without specific prior written permission.
64:
65: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
66: IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
67: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
68: IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
69: INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
70: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
71: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
72: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
73: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
74: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
75: */
|