abk.html
Class AElementNode<T extends AElementNode<T>>

java.lang.Object
  extended by abk.html.ANodeObject<T>
      extended by abk.html.AElementNode<T>
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AAnchorElement, ABreakElement, AControlElement, AHeadElement, AHtmlBuilder.Tag, AHtmlElement, ALabelElement, AOptionElement, ATableCellElement, ATableElement, ATableRowElement, ATableSectionElement

public abstract class AElementNode<T extends AElementNode<T>>
extends ANodeObject<T>

Implementación abstracta de un elemento de un documento XML.

See Also:
Serialized Form

Field Summary
private  LinkedList<ANodeObject<?>> iChildren
          Lista de nodos incluidos dentro del elemento.
private  ATokenSet iClassList
          Lista de palabras del atributo class.
private  boolean iEndTagForbidden
          El elemento no tiene etiqueta de cierre.
private  String iId
          ID del elemento.
private  String iLang
          Lenguaje del elemento.
private  String iStyle
          Estilo del elemento.
private  String iTagName
          Nombre de la etiqueta del elemento.
private  String iTitle
          Título del elemento.
 
Fields inherited from class abk.html.ANodeObject
iClass
 
Constructor Summary
protected AElementNode(String tagName, Class<T> klass)
          Inicializa el nombre de la etiqueta y la clase que la extiende.
 
Method Summary
protected static void _tagAttribute(StringBuilder sb, String name, String value)
          Genera el texto name="value" y lo añade al contenido de un StringBuilder que se le pasa.
 AAnchorElement A()
          Crea un elemento <A> y lo incorpora al final del contenido del objeto que lo invoca.
 T addClass(String... classes)
          Añade palabras, o tokens, clasificadoras al elemento.
private  T addFirst(ANodeObject<?> node)
           
private  T addNode(ANodeObject<?> node)
          Incorpora un nuevo nodo a la lista de hijos.
private  T addNode(int index, ANodeObject<?> node)
           
protected  void adoptNode(ANodeObject<?> newChild)
           
 T append(ANodeObject<?> newChild)
          Añade un nodo al final de la lista de nodos del elemento.
 T append(CharSequence text)
          Añade un texto al final de la lista de nodos hijos del elemento.
 AHtmlBuilder.Tag B(CharSequence text)
           
 ABreakElement BR()
           
 AButtonControl BUTTON()
           
 ACheckboxInput CHECKBOX()
           
protected  List<ANodeObject<?>> children()
          Devuelve la lista de nodos que descienden directamente del elemento.
 ATokenSet classList()
          Devuelve la lista de palabras que clasifican el elemento.
 T clearChildren()
          Vacía la lista de hijos del elemento..
 AHtmlBuilder.Tag DIV()
           
protected  void doClass(StringBuilder sb)
          Serializa la propiedad classList del elemento.
protected  void doId(StringBuilder sb)
          Serializa el atributo id del elemento.
protected  void doLang(StringBuilder sb)
           
protected  void doStyle(StringBuilder sb)
          Serializa el atributo title del elemento.
protected  void doTagStart(StringBuilder sb)
          Escribe los atributos del elemento.
protected  void doTitle(StringBuilder sb)
          Serializa el atributo title del elemento.
 AHtmlBuilder.Tag EM(CharSequence text)
           
 String getTagName()
          Devuelve la etiqueta del elemento.
 AInputControl HIDDEN()
           
 AHtmlBuilder.Tag I(CharSequence text)
           
 String id()
          Devuelve el atributo iId del elemento.
 T id(String id)
          Fija el calor del iId del elemento.
 AInputControl INPUT()
           
 T insert(ANodeObject<?> newChild, ANodeObject<?> beforeChild)
          Inserta un nuevo nodo delante de otro nodo que se le pasa.
protected  boolean isEndTagForbidden()
          Devuelve el valor de la propiedad iEndTagForbidden.
 String klass()
          Devuelve la lista de palabras clasificadoras como una cadena de texto con los tokens separados por espacios.
 T klass(String className)
          Establece la lista de palabras clasificadoras como el conjunto de tokens pasados en una cadena de texto.
 ALabelElement LABEL()
           
 String lang()
           
 T lang(String lang)
           
 AHtmlBuilder.Tag P()
           
 AHtmlBuilder.Tag PRE()
           
 T remove(ANodeObject<?> child)
          Retira un nodo del interior del elemento.
 T removeClass(String... classes)
          Retira del atributo class todas las cadenas que se le pasan.
 T reset()
          Establece el valor de los atributos className, id y title a cadenas vacías.
 ASelectControl SELECT()
           
protected  void setEndTagForbidden(boolean forbidden)
          Establece el valor de la propiedad iEndTagForbidden.
 AHtmlBuilder.Tag SPAN(CharSequence text)
           
 AHtmlBuilder.Tag STRONG(CharSequence text)
           
 String style()
          Devuelve el estilo CSS del elemento.
 T style(String style)
          Establece el estilo CSS del elemento.
 ATableElement TABLE()
           
protected static void tagAttribute(StringBuilder sb, String name, boolean value)
          Genera el texto name="value" y lo añade al contenido de un StringBuilder que se le pasa.
protected static void tagAttribute(StringBuilder sb, String name, String value)
          Genera el texto name="value" y lo añade al contenido de un StringBuilder que se le pasa.
 AHtmlBuilder.Text text()
           
 ATextAreaControl TEXTAREA()
           
 CharSequence textContent()
          Devuelve el contenido del nodo representado como texto.
 T textContent(CharSequence text)
          Establece un texto como contenido del nodo, eliminando cualquier otro contenido que hubiera.
 String title()
          Devuelve el título del elemento.
 T title(String title)
          Establece el valor del título del elemento.
 AHtmlBuilder.Tag U(CharSequence text)
           
 AHtmlBuilder.Tag VAR(CharSequence text)
           
 void write(Appendable out)
          Serializa el elemento.
 
Methods inherited from class abk.html.ANodeObject
appendTo, parent, parent, self, stringify, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

iTagName

private String iTagName
Nombre de la etiqueta del elemento.


iEndTagForbidden

private boolean iEndTagForbidden
El elemento no tiene etiqueta de cierre.


iClassList

private ATokenSet iClassList
Lista de palabras del atributo class.


iId

private String iId
ID del elemento.


iTitle

private String iTitle
Título del elemento.


iStyle

private String iStyle
Estilo del elemento.


iLang

private String iLang
Lenguaje del elemento.


iChildren

private LinkedList<ANodeObject<?>> iChildren
Lista de nodos incluidos dentro del elemento.

Constructor Detail

AElementNode

protected AElementNode(String tagName,
                       Class<T> klass)
Inicializa el nombre de la etiqueta y la clase que la extiende.

Parameters:
tagName - Nombre de la etiqueta.
klass - Clase que implementa el elemento.
Throws:
IllegalArgumentException - si tagName es null.
Method Detail

reset

public T reset()
Establece el valor de los atributos className, id y title a cadenas vacías.

Specified by:
reset in class ANodeObject<T extends AElementNode<T>>
Returns:
El propio objeto instanciado.

children

protected final List<ANodeObject<?>> children()
Devuelve la lista de nodos que descienden directamente del elemento.

Returns:
Lista de nodos.

setEndTagForbidden

protected final void setEndTagForbidden(boolean forbidden)
Establece el valor de la propiedad iEndTagForbidden.

Parameters:
forbidden - true si el elemento no tiene etiqueta de cierre, o false en otro caso.

isEndTagForbidden

protected final boolean isEndTagForbidden()
Devuelve el valor de la propiedad iEndTagForbidden.

Returns:
true si el elemento no tiene etiqueta de cierre, o false en otro caso.

getTagName

public final String getTagName()
Devuelve la etiqueta del elemento.

Returns:
Etiqueta del elemento.

write

public void write(Appendable out)
           throws IOException
Serializa el elemento. El objeto serializado se corresponde al siguiente patrón:
 <tagName ${doTagStart}>
 children.stringify()
 </tagName>
 
Si el elemento tiene prohibida la etiqueta de cierre se genera tal que así:
 <tagName ${doTagStart} />
 

Specified by:
write in class ANodeObject<T extends AElementNode<T>>
Parameters:
out - Flujo de salida de texto
Throws:
IOException - si se produce un error durante la operación de escritura.
See Also:
Appendable.append(CharSequence)

doTagStart

protected void doTagStart(StringBuilder sb)
Escribe los atributos del elemento. Este método debe ser sobrecargado por los elementos descendientes de AElementNode para incluir sus atributos en la serialización de la etiqueta.

Parameters:
sb - Objeto utilizado para la serialización.

_tagAttribute

protected static final void _tagAttribute(StringBuilder sb,
                                          String name,
                                          String value)
Genera el texto name="value" y lo añade al contenido de un StringBuilder que se le pasa.

Parameters:
sb - Objeto al que se añade la serialización del atributo.
name - Nombre del atributo.
value - Valor del atributo. Si es null no se escribe ningún atributo.
Throws:
NullPointerException - si name o value son null.

tagAttribute

protected static final void tagAttribute(StringBuilder sb,
                                         String name,
                                         String value)
Genera el texto name="value" y lo añade al contenido de un StringBuilder que se le pasa.

Parameters:
sb - Objeto al que se añade la serialización del atributo.
name - Nombre del atributo.
value - Valor del atributo. Si es nulo o está vacío no se añade ningún texto a sb.

tagAttribute

protected static final void tagAttribute(StringBuilder sb,
                                         String name,
                                         boolean value)
Genera el texto name="value" y lo añade al contenido de un StringBuilder que se le pasa.

Parameters:
sb - Objeto al que se añade la serialización del atributo.
name - Nombre del atributo.
value - true si se quiere escribir el atributo, o false si no se debe escribir el atriburo.

id

public T id(String id)
Fija el calor del iId del elemento.

Parameters:
id - Nuevo valor del ID del elemento.
Returns:
Objeto invocante.

id

public String id()
Devuelve el atributo iId del elemento.

Returns:
ID del elemento o una cadena vacía.

doId

protected void doId(StringBuilder sb)
Serializa el atributo id del elemento.

Parameters:
sb - Instancia usada para crear la serialización.

title

public T title(String title)
Establece el valor del título del elemento.

Parameters:
title - Título del elemento.
Returns:
Objeto invocante.

title

public String title()
Devuelve el título del elemento.

Returns:
Título del elemento.

doTitle

protected void doTitle(StringBuilder sb)
Serializa el atributo title del elemento.

Parameters:
sb - Instancia usada para crear la serialización.

style

public T style(String style)
Establece el estilo CSS del elemento.

Parameters:
style - Estilo CSS del elemento.
Returns:
Objeto invocante.

style

public String style()
Devuelve el estilo CSS del elemento.

Returns:
Estilo CSS del elemento.

doStyle

protected void doStyle(StringBuilder sb)
Serializa el atributo title del elemento.

Parameters:
sb - Instancia usada para crear la serialización.

lang

public T lang(String lang)

lang

public String lang()

doLang

protected void doLang(StringBuilder sb)

classList

public ATokenSet classList()
Devuelve la lista de palabras que clasifican el elemento.

Returns:
Lista de palabras clasificadoras del elemento.

addNode

private T addNode(ANodeObject<?> node)
Incorpora un nuevo nodo a la lista de hijos.

Parameters:
node - Nodo a incorporar.
Returns:
El propio objeto instanciado.
Throws:
UnsupportedOperationException - si el objeto no puede tener etiqueta de cierre, luego no puede tener hijos.

addNode

private T addNode(int index,
                  ANodeObject<?> node)

addFirst

private T addFirst(ANodeObject<?> node)

addClass

public T addClass(String... classes)
Añade palabras, o tokens, clasificadoras al elemento.

Parameters:
classes - Tokens que se añaden como palabras clasificadoras.
Returns:
Objeto invocante.

removeClass

public T removeClass(String... classes)
Retira del atributo class todas las cadenas que se le pasan.

Parameters:
classes - Cadenas de texto con las clases que se desean retirar.
Returns:
Objeto invocante.

klass

public T klass(String className)
Establece la lista de palabras clasificadoras como el conjunto de tokens pasados en una cadena de texto.

Parameters:
className - Cadena de texto para el atributo class del elemento.
Returns:
Objeto invocante.

klass

public String klass()
Devuelve la lista de palabras clasificadoras como una cadena de texto con los tokens separados por espacios.

Returns:
Cadena de texto correspondiente al atributo class.

doClass

protected void doClass(StringBuilder sb)
Serializa la propiedad classList del elemento.

Parameters:
sb - Instancia usada para crear la serialización.

clearChildren

public T clearChildren()
Vacía la lista de hijos del elemento..

Returns:
El objeto invocante.
Throws:
NullPointerException - si la propiedad children es null.

remove

public T remove(ANodeObject<?> child)
Retira un nodo del interior del elemento.

Parameters:
child - Nodo que se retira.
Returns:
El objeto invocante.
Throws:
IllegalArgumentException - si child no est´ directamente dentro del elemento.

adoptNode

protected void adoptNode(ANodeObject<?> newChild)

append

public T append(ANodeObject<?> newChild)
Añade un nodo al final de la lista de nodos del elemento.

Parameters:
newChild - Nuevo nodo.
Returns:
El objeto invocante.
Throws:
NullPointerException - si newChild es null.

append

public T append(CharSequence text)
Añade un texto al final de la lista de nodos hijos del elemento. Si el último nodo que tenía el elemento ya era un nodo de texto, el nuevo texto se añade a su contenido, en vez de añadirse como un nodo nuevo.

Parameters:
text - Texto a añadir.
Returns:
El objeto invocante.

textContent

public T textContent(CharSequence text)
Establece un texto como contenido del nodo, eliminando cualquier otro contenido que hubiera.

Specified by:
textContent in class ANodeObject<T extends AElementNode<T>>
Parameters:
text - Nuevo contenido del nodo
Returns:
El objeto invocante.

textContent

public CharSequence textContent()
Devuelve el contenido del nodo representado como texto.

Specified by:
textContent in class ANodeObject<T extends AElementNode<T>>
Returns:
Representación del nodo como texto plano.

insert

public T insert(ANodeObject<?> newChild,
                ANodeObject<?> beforeChild)
Inserta un nuevo nodo delante de otro nodo que se le pasa.

Parameters:
newChild - Nodo a insertar.
beforeChild - Nodo delante del cual insertamos newChild. Si el nodo aquí pasado no está en la lista de hijos, el nuevo nodo queda al principio de la lista de hijos.
Returns:
Objeto invocante.

A

public final AAnchorElement A()
Crea un elemento <A> y lo incorpora al final del contenido del objeto que lo invoca.

Returns:
Elemento creado.

BR

public final ABreakElement BR()

DIV

public final AHtmlBuilder.Tag DIV()

SPAN

public final AHtmlBuilder.Tag SPAN(CharSequence text)

STRONG

public final AHtmlBuilder.Tag STRONG(CharSequence text)

EM

public final AHtmlBuilder.Tag EM(CharSequence text)

VAR

public final AHtmlBuilder.Tag VAR(CharSequence text)

B

public final AHtmlBuilder.Tag B(CharSequence text)

I

public final AHtmlBuilder.Tag I(CharSequence text)

U

public final AHtmlBuilder.Tag U(CharSequence text)

P

public final AHtmlBuilder.Tag P()

PRE

public final AHtmlBuilder.Tag PRE()

TABLE

public final ATableElement TABLE()

BUTTON

public final AButtonControl BUTTON()

SELECT

public final ASelectControl SELECT()

INPUT

public final AInputControl INPUT()

HIDDEN

public final AInputControl HIDDEN()

LABEL

public final ALabelElement LABEL()

CHECKBOX

public final ACheckboxInput CHECKBOX()

TEXTAREA

public final ATextAreaControl TEXTAREA()

text

public final AHtmlBuilder.Text text()


Copyright © 2024. All rights reserved.