Class ModulosPVList

java.lang.Object
  |
  +--ModulosPVList

class ModulosPVList
extends java.lang.Object

Agrupación de módulos fotovoltaicos que componen la base de datos. El número de módulos y las características de cada módulo se extraen de un fichero de datos denominado "datos_paneles.txt". Este fichero (de formato "sólo texto") debe estar ubicado en el mismo directorio que los ficheros ".class" que contienen el código precompilado del programa.


Field Summary
private  java.lang.String ac
           
private  java.lang.String act
           
private  java.lang.String alfa_c
           
private  java.lang.String alfa_m
           
private  java.lang.String am
           
private  java.lang.String ancho
           
private  java.lang.String ancho_c
           
private  java.lang.String beta_c
           
private  java.lang.String beta_m
           
private  float[] datos_float
           
private  int[] datos_int
           
private  java.lang.String[] datos_string
           
private  java.lang.String diam_c
           
static float DUMMY_FLOAT
           
private static int DUMMY_INT
           
private  java.lang.String ff
           
private  java.lang.String fr
           
private  java.lang.String ft
           
private  java.lang.String gamma
           
private  java.lang.String grosor
           
private  java.lang.String icc
           
private  java.lang.String icc_c
           
private  java.io.BufferedReader input
           
private  int j
           
private  java.lang.String jcc_c
           
private  java.lang.String largo
           
private  java.lang.String largo_c
           
private  java.util.Vector listaModulosPV
           
private static int MAX_FLOATS
           
private static int MAX_INTS
           
private static int MAX_STRINGS
           
private  java.lang.String np
           
private  java.lang.String ns
           
private  java.lang.String peso
           
private  java.lang.String pn
           
private  java.lang.String pp_c
           
private  java.lang.String precio
           
private static float PTS_EURO
           
private  java.lang.String ra_c
           
private  java.lang.String rc
           
private  java.lang.String rm
           
private  java.lang.String textLine
           
private  java.lang.String tonc
           
private  java.lang.String vca
           
private  java.lang.String vca_c
           
private  java.lang.String vm
           
 
Constructor Summary
ModulosPVList()
          Agrupa varios paneles fotovoltaicos para formar la base de datos.
 
Method Summary
private  void analizar_infoPaneles(java.io.BufferedReader input)
          Analiza la información extraída del fichero de datos y organiza los datos correspondientes a cada nuevo panel.
private  void analizar_valor_float(int indice)
          Analiza los datos leídos del fichero para extraer un valor decimal en formato float.
private  void analizar_valor_float(int indice, java.lang.String simbolo, java.lang.String campo)
          Analiza los datos leídos del fichero para extraer un valor decimal en formato float.
private  java.lang.String buscarSiguienteDato(java.lang.String campo)
          Analiza secuencialmente la información extraída del fichero de datos hasta encontrar el valor asignado al campo buscado.
private  void checkValues(ModuloPV pv)
          Comprueba los valores numéricos (leídos del fichero) correspondientes a un módulo fotovoltaico, evitando mostrar los campos que estaban vacíos.
 java.lang.String displayData()
          Genera la información que se muestra en pantalla con las características del panel fotovoltaico seleccionado por el usuario.
 java.lang.String getName(int p)
          Obtiene el nombre de un panel contenido en la base de datos.
 float getPower(int p)
          Obtiene la potencia de un panel contenido en la base de datos.
 float getPrecio(int p)
          Obtiene el precio de un panel contenido en la base de datos.
 ModuloPV getSelected()
          Proporciona el panel fotovoltaico actualmente seleccionado (el que se está mostrando en pantalla).
 int getSize()
          Proporciona el número de paneles almacenados en la base de datos.
private  void leerDatos()
          Lee el fichero de datos denominado "datos_paneles.txt" y extrae la información sobre todos los módulos fotovoltaicos.
 void next()
          Desplaza el índice de selección de paneles para apuntar al siguiente panel contenido en la base de datos.
private  void nuevoPanel(java.lang.String[] string_data, float[] float_data, int[] int_data)
          Crea un nuevo objeto de clase "ModuloPV" que representa un modelo de panel fotovoltaico y lo añade a la base de datos.
 void previo()
          Desplaza el índice de selección de paneles para apuntar al panel anterior.
 void search_modelo(java.lang.String modelo)
          Buscar en la base de datos un modelo de panel concreto.
 void search_potencia(java.lang.String potencia)
          Busca en la base de datos un modelo de panel concreto en base a su potencia nominal.
 void search_precio(java.lang.String precio)
          Busca en la base de datos un modelo de panel concreto en base a su precio.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

listaModulosPV

private java.util.Vector listaModulosPV

j

private int j

MAX_STRINGS

private static final int MAX_STRINGS

MAX_FLOATS

private static final int MAX_FLOATS

MAX_INTS

private static final int MAX_INTS

PTS_EURO

private static final float PTS_EURO

DUMMY_FLOAT

public static final float DUMMY_FLOAT

DUMMY_INT

private static final int DUMMY_INT

input

private java.io.BufferedReader input

textLine

private java.lang.String textLine

datos_string

private java.lang.String[] datos_string

datos_float

private float[] datos_float

datos_int

private int[] datos_int

largo

private java.lang.String largo

ancho

private java.lang.String ancho

grosor

private java.lang.String grosor

peso

private java.lang.String peso

precio

private java.lang.String precio

ns

private java.lang.String ns

np

private java.lang.String np

am

private java.lang.String am

ac

private java.lang.String ac

fr

private java.lang.String fr

ft

private java.lang.String ft

pn

private java.lang.String pn

icc

private java.lang.String icc

vca

private java.lang.String vca

vm

private java.lang.String vm

ff

private java.lang.String ff

rm

private java.lang.String rm

rc

private java.lang.String rc

beta_m

private java.lang.String beta_m

alfa_m

private java.lang.String alfa_m

gamma

private java.lang.String gamma

tonc

private java.lang.String tonc

ancho_c

private java.lang.String ancho_c

largo_c

private java.lang.String largo_c

diam_c

private java.lang.String diam_c

act

private java.lang.String act

vca_c

private java.lang.String vca_c

icc_c

private java.lang.String icc_c

jcc_c

private java.lang.String jcc_c

pp_c

private java.lang.String pp_c

ra_c

private java.lang.String ra_c

beta_c

private java.lang.String beta_c

alfa_c

private java.lang.String alfa_c
Constructor Detail

ModulosPVList

public ModulosPVList()
Agrupa varios paneles fotovoltaicos para formar la base de datos. Los paneles se mantienen en un objeto de la clase Vector, por lo que no hay limitación inicial de tamaño.
Method Detail

leerDatos

private void leerDatos()
Lee el fichero de datos denominado "datos_paneles.txt" y extrae la información sobre todos los módulos fotovoltaicos.

analizar_infoPaneles

private void analizar_infoPaneles(java.io.BufferedReader input)
Analiza la información extraída del fichero de datos y organiza los datos correspondientes a cada nuevo panel.
Parameters:
input - Objeto de la clase BufferedReader utilizado para leer el fichero de datos de paneles.

analizar_valor_float

private void analizar_valor_float(int indice)
Analiza los datos leídos del fichero para extraer un valor decimal en formato float. El valor obtenido es guardado en un array en la posición indicada por el índice pasado como argumento.
Parameters:
indice - Posición en el array de datos donde guardar el valor obtenido.

analizar_valor_float

private void analizar_valor_float(int indice,
                                  java.lang.String simbolo,
                                  java.lang.String campo)
Analiza los datos leídos del fichero para extraer un valor decimal en formato float. Comprueba la integridad de los datos analizando el símbolo de la magnitud buscada. El valor obtenido es guardado en un array en la posición indicada por el índice pasado como argumento.
Parameters:
indice - Posición en el array de datos donde guardar el valor obtenido.
simbolo - Símbolo de la magnitud a la que corresponde el dato buscado.
campo - Descripción de la magnitud a la que corresponde el dato.

buscarSiguienteDato

private java.lang.String buscarSiguienteDato(java.lang.String campo)
Analiza secuencialmente la información extraída del fichero de datos hasta encontrar el valor asignado al campo buscado.
Parameters:
campo - Descripción del campo que contiene el dato buscado.
Returns:
Cadena de caracteres conteniendo el valor del dato buscado o null si se ha llegado al final del fichero sin encontrarlo.

nuevoPanel

private void nuevoPanel(java.lang.String[] string_data,
                        float[] float_data,
                        int[] int_data)
Crea un nuevo objeto de clase "ModuloPV" que representa un modelo de panel fotovoltaico y lo añade a la base de datos.
Parameters:
string_data - Características del nuevo panel que se representan en formato String.
float_data - Características del nuevo panel que se representan en formato decimal.
int_data - Características del nuevo panel que se representan en formato entero.

search_modelo

public void search_modelo(java.lang.String modelo)
Buscar en la base de datos un modelo de panel concreto.
Parameters:
modelo - Nombre comercial del modelo de panel fotovoltaico buscado.

search_precio

public void search_precio(java.lang.String precio)
Busca en la base de datos un modelo de panel concreto en base a su precio. Además del precio, el algoritmo de búsqueda utiliza el nombre comercial del panel para evitar problemas en caso de que existan varios paneles diferentes que tengan el mismo precio.
Parameters:
precio - Precio en pesetas y nombre comercial del panel fotovoltaico buscado.

search_potencia

public void search_potencia(java.lang.String potencia)
Busca en la base de datos un modelo de panel concreto en base a su potencia nominal. Además de la potencia, el algoritmo de búsqueda utiliza el nombre comercial del panel para evitar problemas con paneles diferentes de la misma potencia.
Parameters:
potencia - Potencia en watios y nombre comercial del panel fotovoltaico buscado.

displayData

public java.lang.String displayData()
Genera la información que se muestra en pantalla con las características del panel fotovoltaico seleccionado por el usuario.
Returns:
Características del panel que se van a mostrar en formato tabular.

checkValues

private void checkValues(ModuloPV pv)
Comprueba los valores numéricos (leídos del fichero) correspondientes a un módulo fotovoltaico, evitando mostrar los campos que estaban vacíos. Añade las unidades de medida correspondientes a cada tipo de dato.
Parameters:
pv - Módulo fotovoltaico al que corresponden los datos.

getSize

public int getSize()
Proporciona el número de paneles almacenados en la base de datos.
Returns:
Número entero que indica los paneles fotovoltaicos existentes en la base de datos.

getName

public java.lang.String getName(int p)
Obtiene el nombre de un panel contenido en la base de datos.
Parameters:
p - Índice entero que indica la posición del panel en la base de datos.
Returns:
Nombre comercial del modelo de panel indicado.

getPower

public float getPower(int p)
Obtiene la potencia de un panel contenido en la base de datos.
Parameters:
p - Índice entero que indica la posición del panel en la base de datos.
Returns:
Potencia nominal en Watios del panel indicado.

getPrecio

public float getPrecio(int p)
Obtiene el precio de un panel contenido en la base de datos.
Parameters:
p - Índice entero que indica la posición del panel en la base de datos.
Returns:
Precio en pesetas del modelo de panel indicado.

next

public void next()
Desplaza el índice de selección de paneles para apuntar al siguiente panel contenido en la base de datos.

previo

public void previo()
Desplaza el índice de selección de paneles para apuntar al panel anterior.

getSelected

public ModuloPV getSelected()
Proporciona el panel fotovoltaico actualmente seleccionado (el que se está mostrando en pantalla).