Remove sql resources to ease anna-ericsson building
[anna.git] / include / anna / dbos / Set.hpp
diff --git a/include/anna/dbos/Set.hpp b/include/anna/dbos/Set.hpp
deleted file mode 100644 (file)
index a4325b9..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-// ANNA - Anna is Not Nothingness Anymore                                                         //
-//                                                                                                //
-// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
-//                                                                                                //
-// See project site at http://redmine.teslayout.com/projects/anna-suite                           //
-// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
-
-
-#ifndef anna_dbos_Set_hpp
-#define anna_dbos_Set_hpp
-
-#include <anna/core/mt/SafeRecycler.hpp>
-#include <anna/core/mt/Guard.hpp>
-#include <anna/core/Allocator.hpp>
-
-#include <anna/dbms/Statement.hpp>
-#include <anna/dbms/DatabaseException.hpp>
-
-#include <anna/dbos/Object.hpp>
-
-namespace anna {
-
-namespace dbos {
-
-/**
-   Template para acceder a los elementos de un conjunto de objetos inicializados a partir
-   de los datos contenidos en un medio fisico.
-
-   A continuacion presentamos un ejemplo de uso:
-
-   \code
-   Server::Set <Server>* servers (NULL);   // Server hereda de esta clase.
-   ServerLoader serverLoader;        // ServerLoader hereda de dbos::Loader.
-   Server* server;
-
-   try {
-      serverLoader.setKey (..........); // Establece los parametros de busqueda
-
-      servers = Server::instantiate (serverLoader);
-
-      if (servers->size () == 0) {
-         ....
-         .... Si fuera necesario Trataria  la condicion de no encontrar ningun registro
-         ....
-      }
-
-      Server::iterator ii, maxii;
-
-      for (ii = servers->begin (), maxii = servers->end (); ii != maxii; ii ++) {
-         server = *ii;
-
-         .... Trataria  cada uno de los Server encontrados ....
-      }
-
-      Server::release (servers);
-   }
-   catch (Exception& ex) {
-      Server::release (servers);
-
-      ...
-      ... Si fuera necesario Trataria  la condicion de error.
-   }
-   \endcode
- */
-template <typename T> class Set : public Object {
-public:
-  /**
-     Sinonimo usado para definir la clase contenedora de objetos del conjunto.
-  */
-  typedef typename anna::SafeRecycler <T, anna::Allocator<T> > Container;
-
-  /**
-     Sinonimo usado para acceder a los elementos del conjunto atraves de un iterador
-     de objetos no modificables.
-  */
-  typedef typename Container::const_iterator const_iterator;
-
-  /**
-     Sinonimo usado para acceder a los elementos del conjunto atraves de un iterador
-     de objetos modificables.
-  */
-  typedef typename Container::iterator iterator;
-
-  /**
-     Devuelve el inicio del vector de objetos contenidos en el conjunto.
-     \return El inicio del vector de objetos contenidos en el conjunto.
-  */
-  const_iterator begin() const throw() { return a_objects.begin(); }
-
-  /**
-     Devuelve el inicio del vector de objetos contenidos en el conjunto.
-     \return El inicio del vector de objetos contenidos en el conjunto.
-  */
-  iterator begin() throw() { return a_objects.begin(); }
-
-  /**
-     Devuelve el final del vector de objetos contenidos en el conjunto.
-     \return El final del vector de objetos contenidos en el conjunto.
-  */
-  const_iterator end() const throw() { return a_objects.end(); }
-
-  /**
-     Devuelve el final del vector de objetos contenidos en el conjunto.
-     \return El final del vector de objetos contenidos en el conjunto.
-  */
-  iterator end() throw() { return a_objects.end(); }
-
-  /**
-     Crea un nuevo puntero de la clase T dentro de este conjunto.
-  */
-  T* append() throw(RuntimeException) { return a_objects.create(); }
-
-  /**
-     Saca de este conjunto la instancia recibida como parametro y libera su memoria asociada.
-     La operacion se ignoraria si el puntero recibido como parametro es nulo o no pertenece al conjunto.
-     \param t Instancia que del objeto a eliminar.
-  */
-  void remove(T*& t) throw(RuntimeException) { a_objects.release(t); t = NULL; }
-
-  /**
-     Devuelve el nmero de elementos contenidos en el conjunto.
-     \return El nmero de elementos contenidos en el conjunto.
-  */
-  int size() const throw() { return a_objects.size(); }
-
-  /**
-     Devuelve el puntero sobre el que esta posicionado el iterador recibido como parametro.
-     \return El puntero sobre el que esta posicionado el iterador recibido como parametro.
-  */
-  static T* data(iterator& ii) throw() { return Container::data(ii); }
-
-  /**
-     Devuelve el puntero sobre el que esta posicionado el iterador recibido como parametro.
-     \return El puntero sobre el que esta posicionado el iterador recibido como parametro.
-  */
-  static const T* data(const_iterator& ii) throw() { return Container::data(ii); }
-
-private:
-  Container a_objects;
-
-  void initialize(Loader& loader)
-  throw(RuntimeException, dbms::DatabaseException) {
-    T* object;
-    dbms::Statement* statement = loader.getStatement();
-
-    try {
-      do {
-        a_objects.create()->initialize(loader);
-      } while(statement->fetch() == true);
-    } catch(RuntimeException&) {
-      destroy();
-      throw;
-    } catch(dbms::DatabaseException&) {
-      destroy();
-      throw;
-    }
-  }
-
-  void destroy()
-  throw() {
-    for(iterator ii = begin(), maxii = end(); ii != maxii; ii ++)
-      data(ii)->destroy();
-
-    a_objects.clear();
-  }
-};
-
-}
-}
-
-#endif
-
-