abk.text
Class AVarChar

java.lang.Object
  extended by abk.text.AVarChar
All Implemented Interfaces:
Serializable, CharSequence, Cloneable

public class AVarChar
extends Object
implements CharSequence, Serializable, Cloneable

Implementa una cadena de caracteres limitada por un tamaño máximo. Es decir, implementa un buffer de caracteres de tamaño fijo. La longitud de la cadena viene delimitada por el primer caracter cero ('\0') que se encuentre, o por el final del buffer dimensionado.

See Also:
Serialized Form

Field Summary
private  char[] data
          Caracteres de la cadena.
private static long serialVersionUID
           
 
Constructor Summary
AVarChar(int size)
          Constructor del objeto.
 
Method Summary
private  int _length(int offset, int size)
           
 char charAt(int index)
          Devuelve el caracter en la posición indicada.
 AVarChar clone()
          Devuelve una copia profunda del objeto.
 String getString(int offset, int maxLength)
          Devuelve la subcadena que empieza en la posición que se le indica, considerando que la subcadena tiene el tamaño máximo indicado.
 int length()
          Calcula el tamaño de la cadena considerando que termina con el caracter '\0' o cuando se termina el espacio reservado para ella.
 int length(int offset)
          Calcula el tamaño de la cadena a partir de la posición indicada.
 int length(int offset, int maxLength)
           
 AVarChar setString(int offset, String from, int maxFrom)
          Copia los caracteres de un String en la posición del array de caracteres que se le indica.
 AVarChar setString(String from)
          Copia en la cadena de caracteres los valores de un cadena, truncando en el límite de tamaño máximo del objeto si es necesario.
 int size()
          Devuelve el tamaño máximo de la cadena de caracteres.
 AVarChar subSequence(int start, int end)
          Obtiene un nuevo AVarChar con la mismo tamaño máximo que la instancia para la que se invoca, pero inicializado únicamente con el subconjunto de caracteres que se le indican.
 String toString()
          Devuelve el contenido de la cadena como un String, incluyendo todos los caracteres desde la posición inicial, incluida, hasta el primero que sea cero, excluido, o se complete el espacio permitido para la cadena.
private  AVarChar zeros(int fromIndex, int toIndex)
          Rellena de ceros un trozo de la cadena de caracteres.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

data

private char[] data
Caracteres de la cadena.

Constructor Detail

AVarChar

public AVarChar(int size)
Constructor del objeto.

Parameters:
size - Tamaño máximo de la cadena de caracteres.
Method Detail

length

public int length()
Calcula el tamaño de la cadena considerando que termina con el caracter '\0' o cuando se termina el espacio reservado para ella.

Specified by:
length in interface CharSequence
Returns:
Longitud de la cadena.

length

public int length(int offset)
Calcula el tamaño de la cadena a partir de la posición indicada. Esta función permite tener la cadena de texto separada en varias subcadenas separadas por el caracter '\0'.

Parameters:
offset - Posición de la cadena a partir de la cual se cuenta la longitud.
Returns:
Número de caracteres distintos de '\0' a partir de la posición offset, limitado por el tamaño máximo del AVarChar. Si offset es mayor que el tamaño máximo siempre devuelve cero.
Throws:
IndexOutOfBoundsException - si offset queda fuera del rando de valores de la cadena de texto.

length

public int length(int offset,
                  int maxLength)

_length

private int _length(int offset,
                    int size)

toString

public String toString()
Devuelve el contenido de la cadena como un String, incluyendo todos los caracteres desde la posición inicial, incluida, hasta el primero que sea cero, excluido, o se complete el espacio permitido para la cadena.

Specified by:
toString in interface CharSequence
Overrides:
toString in class Object
Returns:
Cadena creada a partir del valor del objeto.

charAt

public char charAt(int index)
Devuelve el caracter en la posición indicada.

Specified by:
charAt in interface CharSequence
Parameters:
index - Índice de posición, desde cero hasta la longitud máxima menos uno.
Returns:
Caracter en la posición indicada del buffer.
Throws:
IndexOutOfBoundsException - si index es menor que cero o mayor que el tamaño máximo del objeto.
See Also:
CharSequence.charAt(int)

subSequence

public AVarChar subSequence(int start,
                            int end)
Obtiene un nuevo AVarChar con la mismo tamaño máximo que la instancia para la que se invoca, pero inicializado únicamente con el subconjunto de caracteres que se le indican.

Specified by:
subSequence in interface CharSequence
Parameters:
start - Índice del primer caracter a incluir.
end - Índice del caracter en el que se termina la subsecuencia, sin incluir este último.
Returns:
Nuevo objeto con los caracteres copiados.
Throws:
IndexOutOfBoundsException - si los valores están fuera de rango.

clone

public AVarChar clone()
Devuelve una copia profunda del objeto.

Overrides:
clone in class Object
Returns:
Copia clonada de la cadena de caracteres.

size

public int size()
Devuelve el tamaño máximo de la cadena de caracteres.

Returns:
Tamaño máximo.

zeros

private AVarChar zeros(int fromIndex,
                       int toIndex)
Rellena de ceros un trozo de la cadena de caracteres.

El método no verifica los valores de los argumentos, por lo que se mantiene como una utilidad privada de la clase.

Parameters:
fromIndex - Posición inicial.
toIndex - Posición final, no incluida.
Returns:
El propio objeto invocante
Throws:
IndexOutOfBoundsException - si los argumentos están fuera de rango.

setString

public AVarChar setString(String from)
Copia en la cadena de caracteres los valores de un cadena, truncando en el límite de tamaño máximo del objeto si es necesario.

Parameters:
from - Cadena desde la que se copian los caracteres. Si la cadena es más corta que espacio tiene el buffer, el espacio sobrante se rellena con '\0'.
Returns:
El propio objeto instanciado.
Throws:
NullPointerException - si from es nulo.

getString

public String getString(int offset,
                        int maxLength)
Devuelve la subcadena que empieza en la posición que se le indica, considerando que la subcadena tiene el tamaño máximo indicado.

Parameters:
offset - Posición de inicio de la subcadena.
maxLength - Longitud máxima de la cadena devuelta. Si vale cero o menos de cero, se devuelve la cadena entera partir de offset.
Returns:
Trozo de la cadena que empieza en offset y termina con el caracter '\0' o cuando la longitud de la cadena resultante sea maxLength.
Throws:
IndexOutOfBoundsException - si los argumentos quedan fuera de rango.

setString

public AVarChar setString(int offset,
                          String from,
                          int maxFrom)
Copia los caracteres de un String en la posición del array de caracteres que se le indica.

Parameters:
offset - Posición a partir de la cual se copian los caracteres.
from - Cadena de texto desde se copian los caracteres.
maxFrom - Límite de caracteres a copiar desde from. Si la cadena es más corta, el resto de caracteres se ponen a '\0'.
Returns:
El propio objeto instanciado.
Throws:
IllegalArgumentException - si maxfrom es negativo.
IndexOutOfBoundsException - si offset es negativo o offset+maxFrom es mayor que el tamaño del buffer.


Copyright © 2024. All rights reserved.