Sidar, principal.
>>contenido
Fundación Sidar - Acceso Universal
Seminario SIDAR
Principal >> Aplicación: UAW >> Documentación de las clases java

uaw.sensemarcs
Class CompostMarcs

java.lang.Object
  |
  +--uawPlana
        |
        +--uaw.sensemarcs.CompostMarcs

public class CompostMarcs
extends Plana

CompostMarcs es una concreción de Plana que representa el resultado de una composición concreta de una página de definición de marcos. En realidad el código XHTML está en los componentes de llistaComponents, cada uno de los marcos.

Version:
1.0, 2004/06
Author:
Mireia Ribera
See Also:
wwww.w3.org/TR/xhtml1/xhtml1-frameset.dtd

UML data model
legend graphical representation



Field Summary
protected EstructuraDivisions edcm
Información de compaginación del CompostMarcs.
protected java.util.TreeSet llistaComponents
Lista ordenada de los marcos componentes.
static LlistaPlanes llistaMarcs
Lista global sin repeticiones de todos los marcos que forman el web (un mismo marco puede formar parte de diversos CompostMarcs).
(package private) static int MAXNUMFRAMES
Número máximo de marcos que puede contener una página de definición de marcos.
private ComponentComparador nc
Clase auxiliar para dar orden a los marcos componentes.
Fields inherited from class uaw.Plana
comptadorPlanes, ed, esFrameset, id, llistaCSS, titol, uawUriOrig, uawUriRes, vinclesLlegits, vinclesPlana
Constructor Summary
CompostMarcs ()
Crea un CompostMarcs vacío.
CompostMarcs (java.net.URI uriFichero)
Crea el primer CompostMarc a partir de una página de definición de marcos.
Method Summary
void addVinclesPlana (java.lang.String href, CompostMarcs cm)
Añade un CompostMarcs a la lista de páginas vinculadas con la actual, identificándolo por el ancla del vínculo que lo llama.
private void afegirLlistaComponents (Component marc)
Añade un componente a la lista.
private void augmentarIndexsComponents ()
Aumenta el número de orden de los componentes existentes, para poder insertar otros en medio.
(package private) Component componentFill (java.lang.String posicionPadreEntrante)
Devuelve un componente de la llistaComponents cuyo padre es una caja de nombre posicionPadreEntrante, si existe.
protected void componentFrameset (Plana defMarcs, java.lang.String posicion, int indice)
Añade el componente defMarcs al CompostMarcs, en la posición posicion y con el índice indice, con la particularidad que defMarcs es en si mismo una página de definición de marcos y que añadirlo significa añadir todos sus componentes de forma recursiva.
void crearResultat (boolean relativizar)
Genera el fichero XHTML con la información de todos los componentes y de la EstructuraDivisions.
(package private) void esborrarFills (java.lang.String padre)
Borra los componentes existentes en llistaComponents que tienen como padre una caja de nombre padre.
(package private) boolean existeixComponentdePosicio (java.lang.String posicion)
Indica si hay algún componente en la llistaComponents de posición posicion.
static boolean finestraNova (java.lang.String target, java.lang.String posicionPadre)
Indica si la posición dada implica crear una nueva ventana para poderse visualizar.
void generarId ()
Genera un identificador único de la página, consistente en una cadena de caracteres con los identificadores de los componentes.
protected void generarTitol ()
Genera un título a partir del componente seleccionado si está definido.
java.util.TreeSet getComponents ()
Devuelve la lista de componentes.
(package private) void incloureComponent (Plana p, java.lang.String target, int indice)
Añade un nuevo componente formado por la página p, en la posición target y con el índice indice a la llistaComponents.
void mostrar (java.io.PrintStream salida)
Método creado a efectos de depuración de código que simplemente muestra el contenido de los campos del objeto por el canal de salida especificado.
(package private) java.util.TreeSet obtenirComponentsAltresPosicions (java.lang.String posicion)
Crea una lista de componentes a partir de la llistaComponents del CompostMarcs actual, seleccionando sólo aquellos que no están en la posición indicada.
(package private) int obtenirIndexdeComponentdePosicio (java.lang.String posicion)
Devuelve el índice del componente que se visualizara en el espacio posicio si existe.
(package private) Plana obtenirPlana (Vincle v)
Devuelve el objeto Plana referenciado por el vínculo v.
private CompostMarcs planaVinculada (Vincle v, java.lang.String target)
Crea un nuevo CompostMarc con la misma estructura que el actual, pero con un Component cambiado: el componente que ocupa actualmente la posición descrita en target se sustituira por la Plana referenciada en v.
private CompostMarcs planaVinculadaPare (java.lang.String posicion, java.lang.String target, int indice, Vincle v)
Crea un nuevo CompostMarc copiando todos los componentes del actual, excepto aquellos cuyo padre ocupaba la posición indicada, y que ahora se han sustituido por el componente referenciado en v.
java.util.TreeMap planesVinculades ()
Las páginas vinculadas son aquellas a las que el CompostMarc actual apunta con un vínculo.
void setUawUriRes ()
Si el CompostMarcs actual no tiene una ubicación asignada en el web resultado, este método le asigna un nombre de fichero de forma automática a partir del nombre del fichero del marco seleccionado en la EstructuraDivisions.
Methods inherited from class uaw.Plana
addVinclesLlegits, addVinclesPlana, crearVinclesLlegits, eliminarVinclePlana, esFrameset, getEstructuraDivisions, getId, getNouNomFitxer, getTitol, getUawUriOrig, getUawUriRes, getVinclesLlegits, getVinclesPlana, modificarVinclePlana, setId, setTitol, setUawUriOrig, setUawUriRes
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

llistaMarcs

public static LlistaPlanes llistaMarcs

Lista global sin repeticiones de todos los marcos que forman el web (un mismo marco puede formar parte de diversos CompostMarcs).


MAXNUMFRAMES

static final int MAXNUMFRAMES

Número máximo de marcos que puede contener una página de definición de marcos.

See Also:
Constant Field Values

edcm

protected EstructuraDivisions edcm

Información de compaginación del CompostMarcs.

Nota para los programadores

No confundir con el campo ed de Plana, que se guarda sólo en páginas de definición de marcos y que corresponde a la información de los elementos frameset y frame.


nc

private ComponentComparador nc

Clase auxiliar para dar orden a los marcos componentes.


llistaComponents

protected java.util.TreeSet llistaComponents

Lista ordenada de los marcos componentes.

Constructor Detail

CompostMarcs

public CompostMarcs()

Crea un CompostMarcs vacío.


CompostMarcs

public CompostMarcs(java.net.URI uriFichero)
             throws java.lang.NullPointerException,
                    java.lang.IllegalArgumentException,
                    UawException

Crea el primer CompostMarc a partir de una página de definición de marcos.

En la creación de este CompostMarcs, a diferencia de otros constructores, se asigna la uawUriRes antes de generar el fichero resultado, pues uawUriRes en este caso corresponde al nombre del frameset.

Parameters:
uriFichero - URI de la página de definición de marcos
Throws:
java.lang.NullPointerException - si uriFichero es nulo
java.lang.IllegalArgumentException - si uriFichero no existe
UawException - si uriFichero no corresponde a una página de definición de marcos correcta situada en el web local
Method Detail

finestraNova

public static boolean finestraNova(java.lang.String target,
                                   java.lang.String posicionPadre)
                            throws java.lang.NullPointerException

Indica si la posición dada implica crear una nueva ventana para poderse visualizar.

Parameters:
target - el nombre del espacio de visualización
posicionPadre - el nombre del marco padre de target
Throws:
java.lang.NullPointerException - si target o posicionPadre son nulos

addVinclesPlana

public void addVinclesPlana(java.lang.String href,
                            CompostMarcs cm)
                     throws java.lang.NullPointerException

Añade un CompostMarcs a la lista de páginas vinculadas con la actual, identificándolo por el ancla del vínculo que lo llama.

Parameters:
href - el ancla que activa el vínculo en la página cm
cm - la página a incluir en la lista de páginas vinculadas
Throws:
java.lang.NullPointerException - si href o cm son nulos

afegirLlistaComponents

private void afegirLlistaComponents(Component marco)
                             throws java.lang.NullPointerException

Añade un Componente a la lista

Parameters:
marco - componente a añadir
Throws:
java.lang.NullPointerException - si marco es nulo

augmentarIndexsComponents

private void augmentarIndexsComponents()

Aumenta el número de orden de los componentes existentes, para poder insertar otros en medio.


componentFill

Component componentFill(java.lang.String posicionPadreEntrante)
                  throws java.lang.NullPointerException

Devuelve, si lo encuentra, un Component de la llistaComponents que tiene como padre una caja de nombre posicionPadreEntrante. Si no lo encuentra devuelve null.

Parameters:
posicionPadreEntrante - el nombre de la caja padre.
Throws:
java.lang.NullPointerException - si posicionPadreEntrante es nulo

componentFrameset

protected void componentFrameset(Plana defMarcs,
                                 java.lang.String posicion,
                                 int indice)
                          throws java.lang.NullPointerException,
                                 java.lang.IllegalArgumentException,
                                 UawException

Añade el componente defMarcs a CompostMarcs, en la posición posicion y con el índice indice, con la peculiaridad que defMarcs es una página de definición de marcos y que añadirlo significa añadir todos sus Componentes de forma recursiva.

Parameters:
defMarcs - Component a añadir
posicion - identificador del espacio de visualización del Component a añadir
Throws:
java.lang.NullPointerException - si defMarcs o posicion son nulos
java.lang.IllegalArgumentException - si indice es un entero negativo, o si defMarcs no es una página de definición de marcos correcta
UawException - si se produce algún problema al añadir el componente

crearResultat

public void crearResultat(boolean relativizar)
                   throws UawException

Genera el fichero XHTML con la información de todos los Componentes y de la EstructuraDivisions. El fichero se escribirá con el nombre del fichero del Componente seleccionado, o si este da problemas con el nombre del fichero del CompostMarcs.

Overrides:
crearResultat in class Plana
Throws:
UawException - si se han producido problemas en la creación del resultado
See Also:
UawDOMSAX.fusionar(EstructuraDivisions ed,Vector vUris,String nomFitxers,StyleSheetList llistaFullesEstil)

esborrarFills

void esborrarFills(java.lang.String padre)
             throws java.lang.NullPointerException

Borra los Components de la llistaComponents que tienen como padre una Caixa de nombre padre.

Parameters:
padre - el nombre de la Caixa contenedora de los Componentes a borrar
Throws:
java.lang.NullPointerException - si padre es nulo

existeixComponentdePosicio

boolean existeixComponentdePosicio(java.lang.String posicion)
                             throws java.lang.NullPointerException

Indica si hay algún Componente en la llistaComponents de posición posicion.

Parameters:
posicion - la posición a buscar
Throws:
java.lang.NullPointerException - si posicion es nulo

generarId

public void generarId()

Genera un identificador único del CompostMarcs, que consiste en una cadena de caracteres con los identificadores de los componentes.

Overrides:
generarId in class Plana

generarTitol

protected void generarTitol()
                     throws UawException

Genera un título a partir del componente seleccionado si está definido.

UawException

getComponents

public java.util.TreeSet getComponents()

Devuelve la lista de componentes.


incloureComponent

void incloureComponent(Plana p,
                       java.lang.String target,
                       int indice)
                 throws java.lang.NullPointerException,
                        java.lang.IllegalArgumentException,
                        UawException

Añade un nuevo Component formado por la página p, en la posición target y con el índice indice a la llistaComponents.

Parameters:
p - el objeto Plana del nuevo Componente a añadir
target - identificador del espacio de visualización del Component a añadir
indice - número de orden del Componente a añadir
Throws:
java.lang.NullPointerException - si p o target son nulos
java.lang.IllegalArgumentException - si indice es un entero negativo
UawException - si se ha producido algún problema en la creación o inclusión del nuevo Componente.

mostrar

public void mostrar(java.io.PrintStream salida)

Método creado a efectos de depuración de código que simplemente muestra el contenido de los campos del objeto por el canal de salida especificado.

Overrides:
mostrar in class Plana
Parameters:
salida - canal de salida por el que mostrar los campos.

obtenirComponentsAltresPosicions

java.util.TreeSet obtenirComponentsAltresPosicions(java.lang.String posicion)
                                             throws java.lang.NullPointerException

Crea una lista de Componentes a partir de la llistaComponents del CompostMarcs actual, seleccionando sólo aquellos que no están en la posición dada.

Los componentes de la lista creada contienen la misma información que los componentes copiados, pero son objetos nuevos.

Parameters:
posicion - identificador de un espacio de visualización
Throws:
java.lang.NullPointerException - si posicion es nulo

obtenirIndexdeComponentdePosicio

int obtenirIndexdeComponentdePosicio(java.lang.String posicion)
                               throws java.lang.NullPointerException

Devuelve el índice del Componente que se visualizara en el espacio posicion si existe. En caso contrario devuelve -1.

Parameters:
posicion - identificador de un espacio de visualización
Throws:
java.lang.NullPointerException - si posicion es nulo

obtenirPlana

Plana obtenirPlana(Vincle v)
             throws java.lang.NullPointerException,
                    UawException

Devuelve el objeto Plana referenciado por el vínculo v. Si existía alguna Plana en la llistaMarcs con el mismo identificador, devuelve la Plana existente y en caso contrario añade la Plana creada a la llistaMarcs.

Parameters:
v - El vínculo que hace referencia a la nueva Plana
Throws:
java.lang.NullPointerException - si v es nulo
UawException - si se ha producido algún problema en la creación de la nueva Plana

planaVinculada

private CompostMarcs planaVinculada(Vincle v,
                                    java.lang.String target)
                             throws java.lang.NullPointerException,
                                    java.lang.IllegalArgumentException,
                                    UawException

Crea un nuevo CompostMarc con la misma estructura que el actual pero con un Componente cambiado: el Componente que actualmente ocupa la posición target será sustituido por la página referenciada en v.

Parameters:
v - el vínculo que hace referencia al nuevo componente
target - la posición que ocupará el Component nuevo en el CompostMarcs si es diferente de la descrita por v; en caso contrario null (y entonces se toma la posición del vínculo)
Throws:
java.lang.NullPointerException - si v es nulo
java.lang.IllegalArgumentException - si target no es una posición existente o si es nulo, se produce la excepción si la posición descrita por v no es una posición existente.
UawException - si se ha producido algún problema en la creación del nuevo CompostMarcs.

planaVinculadaPare

private CompostMarcs planaVinculadaPare(java.lang.String posicion,
                                        java.lang.String target,
                                        int indice,
                                        Vincle v)

Crea un nuevo CompostMarc copiando todos los componentes del actual, excepto los hermanos del componente que ocupa la posición posicion, y que se sustituyen por un nuevo componente, referenciado por v .

Parameters:
posicion - el espacio de visualización de uno de los componentes a eliminar
target - la posicion que ocupara el nuevo Component
indice - el número de orden del nuevo Component
v - el Vincle que hace referencia al nuevo Component
Throws:
java.lang.NullPointerException - si posicion, target o v son nulos
java.lang.IllegalArgumentException - si indice es un entero negativo o si posicion no corresponde a ningún Component existente
UawException - si se ha producido algún problema en la creación del nuevo CompostMarcs.

planesVinculades

public java.util.TreeMap planesVinculades()

Las páginas vinculadas son aquellas a las que el CompostMarc actual apunta con un vínculo.

El algoritmo para crear las páginas vinculadas es crear duplicados del CompostMarcs actual con uno de los componentes cambiado por la página a la que apunta cada uno de los vínculos del CompostMarcs actual.

Como efecto lateral se actualiza la lista de marcos con los nuevos elementos analizados.

Returns:
Una lista con todas las páginas vinculadas a la actual
See Also:
getVinclesPlana()

setUawUriRes

public void setUawUriRes()

Si el CompostMarcs actual no tiene una ubicación asignada en el web resultado, este método le asigna un nombre de fichero de forma automática a partir del nombre del fichero del marco seleccionado.

Si se produce algún problema el nombre se toma a partir del primer Component.

Overrides:
setUawUriRes in class Plana