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 TypeMethodDescriptionintAñade una geometria al final del fichero y retorna el índice que ocupa esta geometria en el mismovoidclose()Cierra el fichero de expansión al terminar la ediciónvoidRealiza una compactación del fichero que maneja esta clasevoidMueve el puntero de escritura de manera que las siguientes escrituras machacarán la última filagetObject(int index) Obtiene la geometria que hay en el índice 'index' o null si la geometría ha sido invalidada.intgetSize()iterator()voidopen()Abre el fichero de expansión para comenzar la edición
-
Method Details
-
addObject
Añade una geometria al final del fichero y retorna el índice que ocupa esta geometria en el mismo- Parameters:
feature-status- TODOindexInternalFields- fields that where valid when this feature was added.- Returns:
- calculated index of the new feature.
-
getObject
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
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()
-