com.iver.cit.gvsig.fmap.drivers
Class MemoryDriver

java.lang.Object
  extended bycom.iver.cit.gvsig.fmap.drivers.MemoryDriver
All Implemented Interfaces:
BoundedShapes, VectorialDriver, VectorialFileDriver
Direct Known Subclasses:
DgnMemoryDriver, DXFMemoryDriver

public abstract class MemoryDriver
extends java.lang.Object
implements VectorialFileDriver, BoundedShapes

Clase abstracta para Driver en memoria.

Author:
FJP

Constructor Summary
MemoryDriver()
           
 
Method Summary
abstract  boolean accept(java.io.File f)
          Define los tipos de fichero que puede leer el driver.
 void addShape(FShape shp, java.lang.Object[] row)
          Añade un shape.
 void close()
          Cuando se terminan las operaciones sobre el fichero se invoca éste método para cerrar el descriptor que se abrió en f
 boolean fileAccepted(java.io.File f)
           
 int getFieldCount()
           
 java.lang.String getFieldName(int fieldId)
           
 Value getFieldValue(long rowIndex, int fieldId)
           
 java.awt.geom.Rectangle2D getFullExtent()
          Obtiene el bounding box de la capa
abstract  java.lang.String getName()
           
 long getRowCount()
           
 IGeometry getShape(int index)
          Obtiene del fichero abierto en open la geometría index-ésima
 java.awt.geom.Rectangle2D getShapeBounds(int index)
          Devuelve el extent a partir de un índice.
 int getShapeCount()
          Obtiene el número de geometrías que contiene la capa
abstract  int getShapeType()
          Devuelve el tipo de los shapes que hay en el fichero.
 int getShapeType(int index)
          Devuelve el tipo del shape.
 javax.swing.table.DefaultTableModel getTableModel()
          Devuelve el modelo de la tabla.
 void initialize()
          Método invocado una sóla vez durante la ejecución justo antes de visualizar una capa.
abstract  void open(java.io.File f)
          Abre el fichero para una serie de operaciones.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.iver.cit.gvsig.fmap.drivers.VectorialDriver
getDriverAttributes
 

Constructor Detail

MemoryDriver

public MemoryDriver()
Method Detail

getTableModel

public javax.swing.table.DefaultTableModel getTableModel()
Devuelve el modelo de la tabla.

Returns:
modelo de la tabla.

addShape

public void addShape(FShape shp,
                     java.lang.Object[] row)
Añade un shape.

Parameters:
shp - shape.
row - fila.

getShapeBounds

public java.awt.geom.Rectangle2D getShapeBounds(int index)
                                         throws java.io.IOException
Devuelve el extent a partir de un índice.

Specified by:
getShapeBounds in interface BoundedShapes
Parameters:
index - Índice.
Returns:
Extent.
Throws:
java.io.IOException

getShapeType

public int getShapeType(int index)
Devuelve el tipo del shape.

Specified by:
getShapeType in interface BoundedShapes
Parameters:
index - Índice.
Returns:
tipo del shape.

open

public abstract void open(java.io.File f)
                   throws java.io.IOException
Description copied from interface: VectorialFileDriver
Abre el fichero para una serie de operaciones.

Specified by:
open in interface VectorialFileDriver
Parameters:
f - Fichero sobre el que se va a operar
Throws:
java.io.IOException - Si se produce algún error

close

public void close()
           throws java.io.IOException
Description copied from interface: VectorialFileDriver
Cuando se terminan las operaciones sobre el fichero se invoca éste método para cerrar el descriptor que se abrió en f

Specified by:
close in interface VectorialFileDriver
Throws:
java.io.IOException - Si se produce algún error

getShape

public IGeometry getShape(int index)
                   throws java.io.IOException
Description copied from interface: VectorialFileDriver
Obtiene del fichero abierto en open la geometría index-ésima

Specified by:
getShape in interface VectorialFileDriver
Parameters:
index - Índice de la geometría que se quiere obtener
Returns:
IGeometry. Construida mediante llamadas a ShapeFactory
Throws:
java.io.IOException - Si se produce algún error

getShapeCount

public int getShapeCount()
                  throws java.io.IOException
Description copied from interface: VectorialFileDriver
Obtiene el número de geometrías que contiene la capa

Specified by:
getShapeCount in interface VectorialFileDriver
Returns:
int
Throws:
java.io.IOException - Si se produce algún error

getFullExtent

public java.awt.geom.Rectangle2D getFullExtent()
                                        throws java.io.IOException
Description copied from interface: VectorialFileDriver
Obtiene el bounding box de la capa

Specified by:
getFullExtent in interface VectorialFileDriver
Returns:
Rectangle2D
Throws:
java.io.IOException - Si se produce algún error

initialize

public void initialize()
                throws java.io.IOException
Description copied from interface: VectorialFileDriver
Método invocado una sóla vez durante la ejecución justo antes de visualizar una capa. En él se deben de hacer las inicializaciones necesarias

Specified by:
initialize in interface VectorialFileDriver
Throws:
java.io.IOException - Si se produce algún error

accept

public abstract boolean accept(java.io.File f)
Description copied from interface: VectorialFileDriver
Define los tipos de fichero que puede leer el driver. Si devuelve true, el fichero está aceptado (es de los que el driver puede leer), si devuelve false es porque no lo puede leer.

Specified by:
accept in interface VectorialFileDriver
Parameters:
f - Fichero
Returns:
boolean

getShapeType

public abstract int getShapeType()
Description copied from interface: VectorialDriver
Devuelve el tipo de los shapes que hay en el fichero. Pueden haber varios tipos de shapes y para indicar esto se devuelve un bitoring de los tipos que contiene el fichero. Por ejemplo un fichero que contenga textos y lineas devolverá la expresión (FShape.LINE | FShape.TEXT)

Specified by:
getShapeType in interface VectorialDriver
Returns:
tipo de shape.

getName

public abstract java.lang.String getName()

fileAccepted

public boolean fileAccepted(java.io.File f)

getFieldValue

public Value getFieldValue(long rowIndex,
                           int fieldId)
                    throws DriverException
Throws:
DriverException

getFieldCount

public int getFieldCount()
                  throws DriverException
Throws:
DriverException

getFieldName

public java.lang.String getFieldName(int fieldId)
                              throws DriverException
Throws:
DriverException

getRowCount

public long getRowCount()
                 throws DriverException
Throws:
DriverException