|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabk.text.ATextBuilder
public class ATextBuilder
Clase que facilita la construcción de cadenas de texto.
Field Summary | |
---|---|
static int |
DEFAULT_CAPACITY
Capacidad por defecto (16) a añadir a la longitud de la cadena al hacer crecer el buffer. |
protected char[] |
iBuffer
Buffer que contiene los caracteres de la cadena. |
protected int |
iCount
Cantidad de caracteres de iBuffer en uso actualmente. |
protected int |
iMaxBuffer
Cantidad máxima que puede tener el buffer. |
static long |
serialVersionUID
|
Constructor Summary | |
---|---|
|
ATextBuilder()
Constructor por defecto. |
protected |
ATextBuilder(char[] buffer,
int length)
Constructor a partir de los propiedades primitivas del objeto. |
|
ATextBuilder(CharSequence cs)
Constructor a partir de una cadena de texto dada. |
|
ATextBuilder(int capacity)
Constructor a partir de una capacidad inicial dada. |
|
ATextBuilder(int capacity,
int maxCapacity)
Constructor a partir de una capacidad inicial dada. |
Method Summary | |
---|---|
ATextBuilder |
append(char c)
|
ATextBuilder |
append(char[] src)
|
ATextBuilder |
append(char[] src,
int start,
int end)
|
ATextBuilder |
append(CharSequence csq)
|
ATextBuilder |
append(CharSequence[] frags)
|
ATextBuilder |
append(CharSequence cs0,
CharSequence... csN)
|
ATextBuilder |
append(CharSequence src,
int start,
int end)
|
protected int |
aproxCapacity()
|
int |
capacity()
Capacidad actual del buffer de caracteres que da soporte a la cadena. |
char |
charAt(int i)
Devuelve el carácter en la i-esima posición de la cadena. |
ATextBuilder |
charAt(int i,
char ch)
Fija el carácter en la i-esima posición de la cadena. |
ATextBuilder |
clear()
Limpia el buffer actual, empezando con una cadena vacía aunque manteniendo el tamaño del buffer. |
ATextBuilder |
clone()
Devuelve un nuevo objeto clonado desde el actual. |
void |
ensureCapacity(int minimumCapacity)
|
boolean |
equals(Object obj)
Comprueba si el objeto que se le pasa es igual a la instancia actual. |
protected void |
expandCapacity(int minimum)
This implements the expansion semantics of ensureCapacity with no size check or synchronization. |
int |
hashCode()
Devuelve un código de hash para el texto construido. |
private IndexOutOfBoundsException |
iobException(int start,
int end,
int length)
|
int |
length()
Devuelve la longitud de la cadena de texto que se está construyendo, es decir, la cantidad de caracteres que se consideran que están en uso. |
int |
maxCapacity()
Devuelve la capacidad máxima del buffer, o cero si no se ha especificado una capacidad máxima. |
ATextBuilder |
maxCapacity(int maxCapacity)
Establece un límite máximo para el buffer. |
ATextBuilder |
subSequence(int start,
int end)
|
String |
toString()
Convierte a String el texto construido. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final long serialVersionUID
public static final int DEFAULT_CAPACITY
protected char[] iBuffer
protected int iCount
protected int iMaxBuffer
Integer.MAX_VALUE
.
Constructor Detail |
---|
public ATextBuilder()
ATextBuilder tb = new ATextBuilder().maxCapacity(8);En su lugar, sería recomendable escribir:
ATextBuilder tb = new ATextBuilder(8).maxCapacity(8);
public ATextBuilder(int capacity)
capacity
- Capacidad inicial.public ATextBuilder(int capacity, int maxCapacity)
capacity
- Capacidad inicial.maxCapacity
- Capacidad máxima, o cero si no se especifica.
IllegalArgumentException
- si la capacidad máxima es mayor que cero pero menor que la
capacidad inicial.public ATextBuilder(CharSequence cs)
cs
- Cadena de texto con la que inicializar la nueva instancia.protected ATextBuilder(char[] buffer, int length)
buffer
- Buffer de caracteres a utilizar. La instancia utiliza el buffer tal cual, sin
duplicarlo. Es responsabilidad del programador dejar de utilizar buffer una
vez haya creado la instancia de ATextBuilder.length
- Caracteres válidos o usados del buffer.
NullPointerException
- si buffer es nulo.
IllegalArgumentException
- si length es menor que cero o mayor que el tamaño
de buffer.Method Detail |
---|
public int hashCode()
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]usando la aritmética de
int
, donde s[i] es el i-ésimo carácter del
texto, n es la longitud del texto, y ^
es el operador exponencial. El
valor de hash de una cadena vacía es cero.
hashCode
in class Object
public boolean equals(Object obj)
La relación así definida cumple solamente las propiedades simétrica y transitiva de la operación si obj es de tipo ATextBuilder. En otro caso, dependerá de la implementación de la clase a la que pertenezca obj.
Por ejemplo:
String s = "hola"; ATextBuilder t = new ATextBuilder(s); t.equals(s) => true s.equals(t) => false
equals
in class Object
public ATextBuilder clone()
clone
in class Object
UnsupportedOperationException
- si se recoge una excepción
CloneNotSupportedException.public int length()
length
in interface CharSequence
public int capacity()
public ATextBuilder clear()
public int maxCapacity()
public ATextBuilder maxCapacity(int maxCapacity)
maxCapacity
- Capacidad máxima del buffer, o cero si se quiere borrar el límite.
IllegalArgumentException
- si maxCapacity es mayor que cero y el tamaño del
buffer es mayor que él.public char charAt(int i)
charAt
in interface CharSequence
i
- Posición del carácter pedido.
IndexOutOfBoundsException
- si i es menor que cero o mayor o igual que
length().public ATextBuilder charAt(int i, char ch)
i
- Posición donde se colocara el carácter dado.ch
- Carácter a poner. Puede ser cero.
IndexOutOfBoundsException
- si i es menor que cero o mayor o igual que
length().public String toString()
toString
in interface CharSequence
toString
in class Object
public ATextBuilder subSequence(int start, int end)
subSequence
in interface CharSequence
public void ensureCapacity(int minimumCapacity)
protected void expandCapacity(int minimum)
minimum
- Capacidad mínima exigida al buffer, en número de caracteres.
IllegalArgumentException
- si se necesitan más caracteres que los especificados en
iMaxBuffer.protected int aproxCapacity()
public ATextBuilder append(CharSequence src, int start, int end)
append
in interface Appendable
public ATextBuilder append(CharSequence csq)
append
in interface Appendable
public ATextBuilder append(char c)
append
in interface Appendable
public ATextBuilder append(CharSequence cs0, CharSequence... csN)
public ATextBuilder append(CharSequence[] frags)
public ATextBuilder append(char[] src, int start, int end)
public ATextBuilder append(char[] src)
private final IndexOutOfBoundsException iobException(int start, int end, int length)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |