com.iver.cit.gvsig.fmap.write
Class EditionSourceAdapter

java.lang.Object
  extended bycom.iver.cit.gvsig.fmap.write.EditionSourceAdapter
All Implemented Interfaces:
EditableFeatureSource, ReadableVectorial, WritableOperations
Direct Known Subclasses:
FileEditionSourceAdapter, WFSEditionSourceAdapter

public class EditionSourceAdapter
extends java.lang.Object
implements EditableFeatureSource


Constructor Summary
EditionSourceAdapter()
           
 
Method Summary
 void addGeometry(IGeometry g)
          Genera un AddCommand, lo ejecuta y lo apila
 void compactar()
          A lo largo de la edición puede darse que haya features que se modifican y luego que se deshace su modificación .
 void deleteGeometry(int id)
          Genera un DeleteCommand y lo apila.
 java.awt.geom.Rectangle2D getFullExtent()
          Devuelve la extensión total de la capa.
 IGeometry getShape(int index)
          Obtiene la shape i-ésima, independientemente de dónde esté, si en la fuente de datos que se está editando o en uno de los ExtensionFile.
 int getShapeCount()
          Obtiene el número de features de la capa en edición teniendo en cuenta las geometrias que se han añadido y que las geometrías eliminadas son marcadas pero siguen teniéndose en cuenta.
 int getShapeType()
          Obtiene el tipo de las geometrías almacenadas en esta fuente de datos
 void modify(IGeometry g)
          Realiza la modificación de una de las geometrías del ReadableVectorial
 void modifyGeometry(int id, IGeometry g)
          Genera un ModifyCommand y lo apila
 void setDeleted(int i)
          Marca el registro i-ésimo como eliminado
 void setNotDeleted()
          Marca el registro i-ésimo como no eliminado
 void setNotModified(int i)
          Marca el registro i-ésimo como no modificado, eliminando
 void start()
          Abre el ReadableVectorial que está adaptando
 void stop()
          Cierra el ReadableVectorial que está adaptando
 void undo()
          Deshace el último comando
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EditionSourceAdapter

public EditionSourceAdapter()
Method Detail

start

public void start()
           throws DriverIOException
Abre el ReadableVectorial que está adaptando

Specified by:
start in interface EditableFeatureSource
Throws:
DriverIOException

stop

public void stop()
          throws DriverIOException
Cierra el ReadableVectorial que está adaptando

Specified by:
stop in interface EditableFeatureSource
Throws:
DriverIOException

getShape

public IGeometry getShape(int index)
                   throws DriverIOException
Obtiene la shape i-ésima, independientemente de dónde esté, si en la fuente de datos que se está editando o en uno de los ExtensionFile. Si la geometria que se está editando ha sido eliminada se devolverá una NullGeometry

Specified by:
getShape in interface EditableFeatureSource
Throws:
DriverIOException

getShapeCount

public int getShapeCount()
                  throws DriverIOException
Obtiene el número de features de la capa en edición teniendo en cuenta las geometrias que se han añadido y que las geometrías eliminadas son marcadas pero siguen teniéndose en cuenta.

Specified by:
getShapeCount in interface EditableFeatureSource
Throws:
DriverIOException

addGeometry

public void addGeometry(IGeometry g)
Genera un AddCommand, lo ejecuta y lo apila

Specified by:
addGeometry in interface EditableFeatureSource

modifyGeometry

public void modifyGeometry(int id,
                           IGeometry g)
Genera un ModifyCommand y lo apila

Specified by:
modifyGeometry in interface EditableFeatureSource

deleteGeometry

public void deleteGeometry(int id)
Genera un DeleteCommand y lo apila.

Specified by:
deleteGeometry in interface EditableFeatureSource

undo

public void undo()
Deshace el último comando


setNotModified

public void setNotModified(int i)
Marca el registro i-ésimo como no modificado, eliminando


setDeleted

public void setDeleted(int i)
Marca el registro i-ésimo como eliminado


setNotDeleted

public void setNotDeleted()
Marca el registro i-ésimo como no eliminado


modify

public void modify(IGeometry g)
Realiza la modificación de una de las geometrías del ReadableVectorial


compactar

public void compactar()
A lo largo de la edición puede darse que haya features que se modifican y luego que se deshace su modificación . Estas features no se pueden eliminar del fichero porque las relaciones que hay en el IndexesMap cambiarían erróneamente. El proceso de compactación consistirá en ver las features que hay en el BitSet modified y generar un nuevo IndexesMap correcto. Además compacta el editionFile y el extensionFile


getFullExtent

public java.awt.geom.Rectangle2D getFullExtent()
                                        throws DriverIOException
Description copied from interface: ReadableVectorial
Devuelve la extensión total de la capa.

Specified by:
getFullExtent in interface EditableFeatureSource
Throws:
DriverIOException
See Also:
ReadableVectorial.getFullExtent()

getShapeType

public int getShapeType()
                 throws DriverIOException
Description copied from interface: ReadableVectorial
Obtiene el tipo de las geometrías almacenadas en esta fuente de datos

Specified by:
getShapeType in interface ReadableVectorial
Returns:
Obtiene el tipo de la capa. Es un bit-oring de los tipos definidos en FShape POINT, LINE, POLYGON o TEXT;
Throws:
DriverIOException