Package: AskResultSet
AskResultSet
name | instruction | branch | complexity | line | method | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AskResultSet(QueryResult, Statement) |
|
|
|
|
|
||||||||||||||||||||
ensureState() |
|
|
|
|
|
||||||||||||||||||||
findColumn(String) |
|
|
|
|
|
||||||||||||||||||||
first() |
|
|
|
|
|
||||||||||||||||||||
getBoolean(String) |
|
|
|
|
|
||||||||||||||||||||
getBoolean(int) |
|
|
|
|
|
||||||||||||||||||||
getByte(String) |
|
|
|
|
|
||||||||||||||||||||
getByte(int) |
|
|
|
|
|
||||||||||||||||||||
getColumnCount() |
|
|
|
|
|
||||||||||||||||||||
getDouble(String) |
|
|
|
|
|
||||||||||||||||||||
getDouble(int) |
|
|
|
|
|
||||||||||||||||||||
getFloat(String) |
|
|
|
|
|
||||||||||||||||||||
getFloat(int) |
|
|
|
|
|
||||||||||||||||||||
getInt(String) |
|
|
|
|
|
||||||||||||||||||||
getInt(int) |
|
|
|
|
|
||||||||||||||||||||
getLong(String) |
|
|
|
|
|
||||||||||||||||||||
getLong(int) |
|
|
|
|
|
||||||||||||||||||||
getObject(String) |
|
|
|
|
|
||||||||||||||||||||
getObject(String, Class) |
|
|
|
|
|
||||||||||||||||||||
getObject(int) |
|
|
|
|
|
||||||||||||||||||||
getObject(int, Class) |
|
|
|
|
|
||||||||||||||||||||
getRowIndex() |
|
|
|
|
|
||||||||||||||||||||
getShort(String) |
|
|
|
|
|
||||||||||||||||||||
getShort(int) |
|
|
|
|
|
||||||||||||||||||||
getString(String) |
|
|
|
|
|
||||||||||||||||||||
getString(int) |
|
|
|
|
|
||||||||||||||||||||
hasNext() |
|
|
|
|
|
||||||||||||||||||||
isBound(String) |
|
|
|
|
|
||||||||||||||||||||
isBound(int) |
|
|
|
|
|
||||||||||||||||||||
isFirst() |
|
|
|
|
|
||||||||||||||||||||
last() |
|
|
|
|
|
||||||||||||||||||||
next() |
|
|
|
|
|
||||||||||||||||||||
previous() |
|
|
|
|
|
||||||||||||||||||||
relative(int) |
|
|
|
|
|
||||||||||||||||||||
setRowIndex(int) |
|
|
|
|
|
||||||||||||||||||||
unsupported(String) |
|
|
|
|
|
Coverage
1: /*
2: * JOPA
3: * Copyright (C) 2023 Czech Technical University in Prague
4: *
5: * This library is free software; you can redistribute it and/or
6: * modify it under the terms of the GNU Lesser General Public
7: * License as published by the Free Software Foundation; either
8: * version 3.0 of the License, or (at your option) any later version.
9: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library.
17: */
18: package cz.cvut.kbss.ontodriver.owlapi.query;
19:
20: import cz.cvut.kbss.ontodriver.Statement;
21: import cz.cvut.kbss.owl2query.model.QueryResult;
22: import org.semanticweb.owlapi.model.OWLObject;
23:
24: class AskResultSet extends AbstractResultSet {
25:
26: private final boolean result;
27: private boolean nextCalled = false;
28:
29: public AskResultSet(QueryResult<OWLObject> queryResult, Statement statement) {
30: super(statement);
31:• this.result = !queryResult.isEmpty();
32: }
33:
34: @Override
35: public int findColumn(String columnLabel) {
36: return 0;
37: }
38:
39: @Override
40: public int getColumnCount() {
41: return 1;
42: }
43:
44: @Override
45: public boolean isBound(int variableIndex) {
46: ensureState();
47: // We do not care about index/name in ASK result set
48: return true;
49: }
50:
51: @Override
52: public boolean isBound(String variableName) {
53: ensureState();
54: // We do not care about index/name in ASK result set
55: return true;
56: }
57:
58: @Override
59: public void first() {
60: // Do nothing
61: }
62:
63: @Override
64: public boolean getBoolean(int columnIndex) {
65: ensureState();
66: return result;
67: }
68:
69: private void ensureState() {
70: ensureOpen();
71:• if (!nextCalled) {
72: throw new IllegalStateException(
73: "Next has to be called before attempting to get any value from the result set.");
74: }
75: }
76:
77: @Override
78: public boolean getBoolean(String columnLabel) {
79: ensureState();
80: return result;
81: }
82:
83: @Override
84: public byte getByte(int columnIndex) {
85: ensureState();
86: throw unsupported("byte");
87: }
88:
89: private static UnsupportedOperationException unsupported(String type) {
90: return new UnsupportedOperationException("ASK query results cannot return " + type + "values.");
91: }
92:
93: @Override
94: public byte getByte(String columnLabel) {
95: ensureState();
96: throw unsupported("byte");
97: }
98:
99: @Override
100: public double getDouble(int columnIndex) {
101: ensureState();
102: throw unsupported("double");
103: }
104:
105: @Override
106: public double getDouble(String columnLabel) {
107: ensureState();
108: throw unsupported("double");
109: }
110:
111: @Override
112: public float getFloat(int columnIndex) {
113: ensureState();
114: throw unsupported("float");
115: }
116:
117: @Override
118: public float getFloat(String columnLabel) {
119: ensureState();
120: throw unsupported("float");
121: }
122:
123: @Override
124: public int getInt(int columnIndex) {
125: ensureState();
126: throw unsupported("int");
127: }
128:
129: @Override
130: public int getInt(String columnLabel) {
131: ensureState();
132: throw unsupported("int");
133: }
134:
135: @Override
136: public long getLong(int columnIndex) {
137: ensureState();
138: throw unsupported("long");
139: }
140:
141: @Override
142: public long getLong(String columnLabel) {
143: ensureState();
144: throw unsupported("long");
145: }
146:
147: @Override
148: public Object getObject(int columnIndex) {
149: ensureState();
150: return result;
151: }
152:
153: @Override
154: public Object getObject(String columnLabel) {
155: ensureState();
156: return result;
157: }
158:
159: @Override
160: public <T> T getObject(int columnIndex, Class<T> cls) {
161: ensureState();
162:• if (cls.isAssignableFrom(Boolean.class)) {
163: return cls.cast(result);
164: }
165:• if (cls.isAssignableFrom(String.class)) {
166: return cls.cast(Boolean.toString(result));
167: }
168: throw unsupported(cls.getSimpleName());
169: }
170:
171: @Override
172: public <T> T getObject(String columnLabel, Class<T> cls) {
173: return getObject(0, cls);
174: }
175:
176: @Override
177: public int getRowIndex() {
178: return 0;
179: }
180:
181: @Override
182: public short getShort(int columnIndex) {
183: ensureState();
184: throw unsupported("short");
185: }
186:
187: @Override
188: public short getShort(String columnLabel) {
189: ensureState();
190: throw unsupported("short");
191: }
192:
193: @Override
194: public String getString(int columnIndex) {
195: ensureState();
196: return Boolean.toString(result);
197: }
198:
199: @Override
200: public String getString(String columnLabel) {
201: ensureState();
202: return Boolean.toString(result);
203: }
204:
205: @Override
206: public boolean isFirst() {
207: return true;
208: }
209:
210: @Override
211: public boolean hasNext() {
212:• return !nextCalled;
213: }
214:
215: @Override
216: public void last() {
217: // do nothing
218: }
219:
220: @Override
221: public void next() {
222:• if (!hasNext()) {
223: throw new IllegalStateException("No more elements in this result set.");
224: }
225: this.nextCalled = true;
226: }
227:
228: @Override
229: public void previous() {
230: // Do nothing
231: }
232:
233:
234: @Override
235: public void relative(int rows) {
236: throw new UnsupportedOperationException("Row-based navigation not supported by ASK result set.");
237: }
238:
239: @Override
240: public void setRowIndex(int rowIndex) {
241: throw new UnsupportedOperationException("Row-based navigation not supported by ASK result set.");
242: }
243: }