import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.Map;
+import javax.naming.NamingException;
import org.mxchange.jcore.FrameworkInterface;
-import org.mxchange.jcore.criteria.searchable.SearchableCritera;
+import org.mxchange.jcore.criteria.searchable.SearchableCriteria;
import org.mxchange.jcore.database.result.Result;
import org.mxchange.jcore.database.storage.Storeable;
import org.mxchange.jcore.exceptions.BadTokenException;
* Tries a connection to the database
*
* @throws java.sql.SQLException If the connection attempt fails
+ * @throws javax.naming.NamingException May be thrown by a backend implementation
*/
- public void connectToDatabase () throws SQLException;
+ public void connectToDatabase () throws SQLException, NamingException;
/**
- * Inserts given dataset instance and returns a Result instance on success
+ * Inserts given dataset instance and returns a Result instance on success.
+ * The callee should not modify any content of the dataset instance.
*
* @param dataset A dataset instance
* @return An instance of Result
* instance. The result instance then provides methods to iterate over all
* found entries.
*
+ * The callee should not modify any content of the criteria instance.
+ *
* @param critera Search critera
* @return A result instance
* @throws java.io.IOException If any IO error occurs
* @throws java.lang.IllegalAccessException If the method cannot be accessed
* @throws java.lang.reflect.InvocationTargetException Any other problems?
*/
- public Result<? extends Storeable> doSelectByCriteria (final SearchableCritera critera) throws IOException, BadTokenException, CorruptedDatabaseFileException, SQLException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException;
+ public Result<? extends Storeable> doSelectByCriteria (final SearchableCriteria critera) throws IOException, BadTokenException, CorruptedDatabaseFileException, SQLException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException;
/**
* Shuts down this backend
* @throws java.io.IOException If any IO error occurs
*/
public void doShutdown () throws SQLException, IOException;
+
+ /**
+ * Some getter for total rows
+ *
+ * @return Total rows
+ * @throws java.io.IOException If an IO error occurs
+ * @throws java.sql.SQLException If any SQL error occurs
+ */
+ public int getTotalRows () throws IOException, SQLException;
}