Interface ExpansionAdapter

All Known Implementing Classes:
MemoryExpansionAdapter

public interface ExpansionAdapter
Maneja el fichero de extensión en el que se almacenan las modificacionesy adiciónes durante la edición. Los índices que devuelve esta clase en sus métodos addFeature y modifyFeature son invariables, es decir, que si se invoca un método addFeature que retorna un 8, independientemente de las operaciones que se realicen posteriormente, una llamada a getFeature(8) retornará dicha fila. Si esta geometría es eliminada posteriormente, se retornará un null. Esto último se cumple mientras no se invoque el método compact, mediante el que se reorganizan las geometrías dejando en el fichero sólo las que tienen validez en el momento de realizar la invocación.
Author:
Vicente Caballero Navarro
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Añade una geometria al final del fichero y retorna el índice que ocupa esta geometria en el mismo
    void
    Cierra el fichero de expansión al terminar la edición
    void
    compact(HashMap relations)
    Realiza una compactación del fichero que maneja esta clase
    void
    Mueve el puntero de escritura de manera que las siguientes escrituras machacarán la última fila
    getObject(int index)
    Obtiene la geometria que hay en el índice 'index' o null si la geometría ha sido invalidada.
    int
     
     
    void
    Abre el fichero de expansión para comenzar la edición
  • Method Details

    • addObject

      int addObject(Object obj)
      Añade una geometria al final del fichero y retorna el índice que ocupa esta geometria en el mismo
      Parameters:
      feature -
      status - TODO
      indexInternalFields - fields that where valid when this feature was added.
      Returns:
      calculated index of the new feature.
    • getObject

      Object getObject(int index)
      Obtiene la geometria que hay en el índice 'index' o null si la geometría ha sido invalidada.
      Parameters:
      index - caculatedIndex of the feature to be read.
      Returns:
      feature
    • compact

      void compact(HashMap relations)
      Realiza una compactación del fichero que maneja esta clase
      Parameters:
      relations - DOCUMENT ME!
    • deleteLastObject

      void deleteLastObject()
      Mueve el puntero de escritura de manera que las siguientes escrituras machacarán la última fila
    • open

      void open()
      Abre el fichero de expansión para comenzar la edición
    • close

      void close()
      Cierra el fichero de expansión al terminar la edición
    • getSize

      int getSize()
    • iterator

      Iterator iterator()