AF
Class Estado

java.lang.Object
  extended by AF.Estado
All Implemented Interfaces:
java.lang.Comparable

public class Estado
extends java.lang.Object
implements java.lang.Comparable

Clase para la implementacion interna de los estados que componen un automata.

Version:
Revision 1.1.0, 28/02/07
Author:
Jesus Vilares ( jvilares@udc.es)

Field Summary
protected  java.lang.String id
          Identificador del estado.
 
Constructor Summary
Estado(java.util.Collection qs)
          Constructor que crea un estado "compuesto", aquel estado asociado a un conjunto de estados (para su empleo en algoritmos de determinizacion, minimizacion, etc.).
Estado(Estado q)
          Constructor que crea un estado copia de otro
Estado(int id)
          Constructor.
Estado(java.lang.String id)
          Constructor.
 
Method Summary
 int compareTo(java.lang.Object o)
          Funcion de comparacion para ordenacion de dos estados.
 boolean equals(java.lang.Object q)
           
 java.util.TreeSet get_componentes()
          Metodo inverso de Estado(Collection).
static Estado get_estado_diferente(java.util.Collection c)
          Crea un nuevo estado distinto a los actualmente almacenados en la coleccion de entrada.
 java.lang.String get_id()
          Devuelve el identificador del Estado
 int hashCode()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

id

protected java.lang.String id
Identificador del estado. Aunque se puede emplear cualquier cadena de caracteres, se aconseja que, de ser posible, se empleen numeros enteros para mayor claridad.

Constructor Detail

Estado

public Estado(java.lang.String id)
       throws AF_Exception
Constructor.

Parameters:
id - Identificador del Estado.
Throws:
AF_Exception

Estado

public Estado(int id)
       throws AF_Exception
Constructor.

Parameters:
id - Identificador del Estado (en este caso un entero).
Throws:
AF_Exception

Estado

public Estado(Estado q)
       throws AF_Exception
Constructor que crea un estado copia de otro

Parameters:
q - Estado a copiar
Throws:
AF_Exception

Estado

public Estado(java.util.Collection qs)
       throws AF_Exception
Constructor que crea un estado "compuesto", aquel estado asociado a un conjunto de estados (para su empleo en algoritmos de determinizacion, minimizacion, etc.). El identificador representa los identificadores de los estados componente ordenados lexicograficamente. Por ejemplo, dados los estados q3, q1 y q8, el estado "compuesto" devuelto seria el {q1,q3,q8}.

Parameters:
qs - Conjunto de estados "componente".
Throws:
AF_Exception
Method Detail

get_id

public java.lang.String get_id()
Devuelve el identificador del Estado

Returns:
Identificador del Estado

get_estado_diferente

public static Estado get_estado_diferente(java.util.Collection c)
                                   throws AF_Exception
Crea un nuevo estado distinto a los actualmente almacenados en la coleccion de entrada. Los identificados de estos estados seguiran un formato q0, q1, q2, etc., empezando a numerar en el qN minimo necesario para no coincidir con ningun identificador de los estados actuales de la coleccion.

Parameters:
c - Coleccion de estados ya existentes
Returns:
Nuevo estado creado
Throws:
AF_Exception

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object q)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

compareTo

public int compareTo(java.lang.Object o)
Funcion de comparacion para ordenacion de dos estados. Delega en la funcion de comparacion de sus identificadores.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o - Estado a comparar
Returns:
Devuelve 0 si este estado y el estado argumento son iguales; un valor menor que 0 si este estado es menor que el estado argumento (i.e., si su identificador es lexicograficamente menor); y un valor mayor que 0 si este estado es mayor que el estado argumento (i.e., si su identificador es lexicograficamente mayor)

get_componentes

public java.util.TreeSet get_componentes()
                                  throws AF_Exception
Metodo inverso de Estado(Collection).

Returns:
Lista ordenada con el conjunto de estados que lo componen
Throws:
AF_Exception