QuotationAwareTokenizer

public class QuotationAwareTokenizer
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.QuotationAwareTokenizer


Resumen

Constructores públicos

QuotationAwareTokenizer()

Métodos públicos

static String combineTokens(String... tokens)

Realiza la operación inversa de tokenizeLine(String).

static String[] tokenizeLine(String line, String delim)
static String[] tokenizeLine(String line)

Genera tokens a partir de la cadena, dividiéndola en espacios.

static String[] tokenizeLine(String line, boolean logging)

Genera tokens a partir de la cadena, dividiéndola en espacios.

static String[] tokenizeLine(String line, String delim, boolean logging)

Genera tokens a partir de la cadena, dividiéndola según el delimitador especificado.

Constructores públicos

QuotationAwareTokenizer

public QuotationAwareTokenizer ()

Métodos públicos

combineTokens

public static String combineTokens (String... tokens)

Realiza la operación inversa de tokenizeLine(String).
Dado un array de tokens, combínalos en una sola línea.

Muestra
String Es un String creado a partir de todos los tokens.

tokenizeLine

public static String[] tokenizeLine (String line, 
                String delim)

Parámetros
line String

delim String

Muestra
String[]

tokenizeLine

public static String[] tokenizeLine (String line)

Genera tokens a partir de la cadena, dividiéndola en espacios. No se divide entre comillas dobles consecutivas sin comillas.

Consulta también tokenizeLine(String,String)

Parámetros
line String

Muestra
String[]

tokenizeLine

public static String[] tokenizeLine (String line, 
                boolean logging)

Genera tokens a partir de la cadena, dividiéndola en espacios. No se divide entre comillas dobles consecutivas sin comillas.

Consulta también tokenizeLine(String,String)

Parámetros
line String

logging boolean

Muestra
String[]

tokenizeLine

public static String[] tokenizeLine (String line, 
                String delim, 
                boolean logging)

Genera tokens a partir de la cadena, dividiéndola según el delimitador especificado. No se divide entre comillas dobles consecutivas sin comillas.

Cómo funciona el tokenizador:

  1. Divide la cadena en "caracteres", en la que cada "carácter" es un carácter de escape como \" (es decir, "\\\"") o un carácter real único como f (solo "f").
  2. Para cada "personaje"
    1. Si es un espacio, finaliza un token, a menos que se trate de una cita.
    2. Si es una comilla, invierte el bit "nos están citando".
    3. De lo contrario, agrégalo al token que se está compilando.
  3. En la fecha de finalización del ciclo de vida, por lo general, no agregamos el token final a los ArrayList (tokens).
    1. Si el último "carácter" es un carácter de escape, arroja una excepción, ya que no es válido.
    2. Si estamos en medio de una cita, arroja una excepción, ya que no es válida.
    3. De lo contrario, agrega el token final a (tokens).
  4. Devuelve una versión String[] de (tokens).

Parámetros
line String: Es un String al que se le asignará un token.

delim String: Es el delimitador que se usará para dividir.

logging boolean: Indica si se deben registrar las operaciones.

Muestra
String[] Una versión tokenizada de la cadena

Arroja
IllegalArgumentException si no se puede analizar la línea