--- /dev/null
+// 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_Eraser_hpp
+#define anna_dbos_Eraser_hpp
+
+#include <anna/dbos/Accesor.hpp>
+
+namespace anna {
+
+namespace dbos {
+
+class Object;
+
+/**
+ Interfaz que deben cumplir los objetos encargados de borrar el objeto del medio fisico,
+ que normalmente sera alguna base de datos.
+*/
+class Eraser : public Accesor {
+public:
+ /**
+ Devuelve la instancia establecida por #setObject.
+ \return La instancia establecida por #setObject. Puede ser NULL.
+ */
+ Object* getObject() throw() { return a_object; }
+
+ /**
+ Establece la instancia del objeto sobre el que vamos a actuar.
+ \param object Instancia del objeto sobre el que vamos a actuar.
+ */
+ void setObject(Object* object) throw() { a_object = object; }
+
+ /**
+ Metodo de debemos re-escribir para devolver el nombre completo del selector de recursos.
+ Para evitar ambigüedades este nombre deberia incluir la lista completa de \em namespaces
+ a la que pertenece la clase.
+ \return Una cadena con el nombre de este selector.
+ */
+ virtual const char* getClassName() const throw() { return "anna::dbos::Eraser"; }
+
+protected:
+ /**
+ Constructor.
+ \param database Base de datos asociada a este cargador y que deberia servir para
+ obtener los datos de un objeto. Debe tener la misma disponibilidad que este cargador.
+ \param id Identificador de este accesor.
+ */
+ Eraser(dbms::Database& database, const Id id = 0) :
+ Accesor(database, id),
+ a_object(NULL)
+ {;}
+
+private:
+ Object* a_object;
+
+ Index getIndex() const throw() { return 0; } // No se usa
+};
+
+}
+}
+
+#endif
+
+
+