com.ejie.r01f.io.filters
Class DirectiveFilterReader

java.lang.Object
  extended byjava.io.Reader
      extended byjava.io.FilterReader
          extended bycom.ejie.r01f.io.filters.DirectiveFilterReader

public class DirectiveFilterReader
extends java.io.FilterReader

Filtro en busca de directivas... mucho mas eficiente que cargar todo en un String y luego buscar...


Constructor Summary
DirectiveFilterReader(java.io.Reader newIn)
          Constructor a partir de un reader
NOTA: Se llama al constructor de FilterReader pasando un BufferedReader
para asegurar que se pueden utilizar marks.
DirectiveFilterReader(java.io.Reader newIn, int bufferSize)
          Constructor a partir de un reader NOTA: Se llama al constructor de FilterReader pasando un BufferedReader
para asegurar que se pueden utilizar marks.
DirectiveFilterReader(java.io.Reader newIn, int bufferSize, int newMaxDirectiveLength)
          Constructor a partir de un reader, se establece también un nuevo tamaño de caracteres de la directiva,
por defecto 255 caracteres.
 
Method Summary
 void addListener(DirectiveListener listener, java.lang.String beginningDelimiter, java.lang.String endingDelimiter)
          Añade un listener
static void main(java.lang.String[] args)
          Test para probar el temilla...
 int read()
           
 int read(char[] text, int offset, int length)
           
 
Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, reset, skip
 
Methods inherited from class java.io.Reader
read
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DirectiveFilterReader

public DirectiveFilterReader(java.io.Reader newIn)
Constructor a partir de un reader
NOTA: Se llama al constructor de FilterReader pasando un BufferedReader
para asegurar que se pueden utilizar marks.
Esto implica que no es necesario concatenar un BufferedReader a este filtro
ya que se está haciendo internamente.
IMPORTANTE!!!
El tamaño del buffer ha de ser al menos tan grande como la longitud de la
mayor directiva (ya que toda la directiva ha de estar en memoria)
Para establecer el tamaño llamar al constructor DirectiveFilterReader(Reader newIn,int bufferSize).

Parameters:
newIn - El Reader del que se lee

DirectiveFilterReader

public DirectiveFilterReader(java.io.Reader newIn,
                             int bufferSize)
Constructor a partir de un reader NOTA: Se llama al constructor de FilterReader pasando un BufferedReader
para asegurar que se pueden utilizar marks.
Esto implica que no es necesario concatenar un BufferedReader a este filtro
ya que se está haciendo internamente.
IMPORTANTE!!!
El tamaño del buffer ha de ser al menos tan grande como la longitud de la
mayor directiva (ya que toda la directiva ha de estar en memoria).

Parameters:
newIn - El Reader del que se lee
bufferSize - el tamaño del buffer

DirectiveFilterReader

public DirectiveFilterReader(java.io.Reader newIn,
                             int bufferSize,
                             int newMaxDirectiveLength)
Constructor a partir de un reader, se establece también un nuevo tamaño de caracteres de la directiva,
por defecto 255 caracteres.
NOTA: Se llama al constructor de FilterReader pasando un BufferedReader
para asegurar que se pueden utilizar marks.
Esto implica que no es necesario concatenar un BufferedReader a este filtro
ya que se está haciendo internamente.
IMPORTANTE!!!
El tamaño del buffer ha de ser al menos tan grande como la longitud de la
mayor directiva (ya que toda la directiva ha de estar en memoria).

Parameters:
newIn - El Reader del que se lee
bufferSize - el tamaño del buffer
newMaxDirectiveLength - número máximo de caracteres de la directiva
Method Detail

addListener

public void addListener(DirectiveListener listener,
                        java.lang.String beginningDelimiter,
                        java.lang.String endingDelimiter)
Añade un listener

Parameters:
listener - una clase que implementa la interfaz DirectiveListener
beginningDelimiter - delimitador de comienzo de directiva
endingDelimiter - delimitador de fin de directiva

read

public int read(char[] text,
                int offset,
                int length)
         throws java.io.IOException
Throws:
java.io.IOException

read

public int read()
         throws java.io.IOException
Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)
Test para probar el temilla...

Parameters:
args -