From 8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 Mon Sep 17 00:00:00 2001 From: Constantin Jucovschi Date: Fri, 24 Apr 2009 07:20:22 -0400 Subject: Initial commit --- java/org/odmg/DCollection.java | 86 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 java/org/odmg/DCollection.java (limited to 'java/org/odmg/DCollection.java') diff --git a/java/org/odmg/DCollection.java b/java/org/odmg/DCollection.java new file mode 100644 index 0000000..37cb173 --- /dev/null +++ b/java/org/odmg/DCollection.java @@ -0,0 +1,86 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see . +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see +* or contact Peter Baumann via . +*/ +package org.odmg; + +/** +* The base interface for all ODMG collections. +* The ODMG collections are based on JavaSoft’s collection interfaces. +* All of the operations defined by the JavaSoft Collection +* interface are supported by an ODMG implementation of DCollection; +* the exception UnsupportedOperationException is not thrown when a +* call is made to any of the Collection methods. +*

+* DCollection contains methods used to perform queries on the collection. +* The OQL query predicate is given as a string with the syntax of the +* where clause of OQL. The predefined OQL variable this +* is used inside the predicate to denote the current element of the collection. +* @author David Jordan (as Java Editor of the Object Data Management Group) +* @version ODMG 3.0 +*/ +// * @see com.sun.java.util.collections.UnsupportedOperationException + +public interface DCollection extends java.util.Collection +{ +/** +* Selects the single element of the collection for which the provided OQL query +* predicate is true, +*
not yet available in RasDaMan.
+* @param predicate An OQL boolean query predicate. +* @return The element that evaluates to true for the predicate. If no element +* evaluates to true, null is returned. +* @exception QueryInvalidException The query predicate is invalid. +*/ + public Object selectElement(String predicate) throws QueryInvalidException; + +/** +* Access all of the elements of the collection that evaluate to true for the +* provided query predicate, +*
not yet available in RasDaMan.
+* @param predicate An OQL boolean query predicate. +* @return An iterator used to iterate over the elements that evaluated true for the predicate. +* @exception QueryInvalidException The query predicate is invalid. +*/ + public java.util.Iterator select(String predicate) throws QueryInvalidException; + +/** +* Evaluate the boolean query predicate for each element of the collection and +* return a new collection that contains each element that evaluated to true, +*
not yet available in RasDaMan.
+* @param predicate An OQL boolean query predicate. +* @return A new collection containing the elements that evaluated true for the predicate. +* @exception QueryInvalidException The query predicate is invalid. +*/ + public DCollection query(String predicate) throws QueryInvalidException; + +/** +* Determines whether there is an element of the collection that evaluates to true +* for the predicate, +*
not yet available in RasDaMan.
+* @param predicate An OQL boolean query predicate. +* @return True if there is an element of the collection that evaluates to true +* for the predicate, otherwise false. +* @exception QueryInvalidException The query predicate is invalid. +*/ + public boolean existsElement(String predicate) throws QueryInvalidException; +} + -- cgit