CotationAwareTokenizer

public class QuotationAwareTokenizer
extends Object

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


Resumo

Construtores públicos

QuotationAwareTokenizer()

Métodos públicos

static String combineTokens(String... tokens)

Faça o inverso de tokenizeLine(String).

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

Tokeniza a string, dividindo-a em espaços.

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

Tokeniza a string, dividindo-a em espaços.

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

Tokeniza a string, dividindo-a no delimitador especificado.

Construtores públicos

QuotationAwareTokenizer

public QuotationAwareTokenizer ()

Métodos públicos

combineTokens

public static String combineTokens (String... tokens)

Faça o inverso de tokenizeLine(String).
Com a matriz de tokens fornecida, combine-os em uma única linha.

Retorna
String Um String criado com todos os tokens.

tokenizeLine

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

Parâmetros
line String

delim String

Retorna
String[]

tokenizeLine

public static String[] tokenizeLine (String line)

Tokeniza a string, dividindo-a em espaços. Não divide entre aspas duplas consecutivas sem aspas.

Consulte também tokenizeLine(String, String)

Parâmetros
line String

Retorna
String[]

tokenizeLine

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

Tokeniza a string, dividindo em espaços. Não se divide entre aspas duplas consecutivas sem aspas.

Veja também tokenizeLine(String, String)

Parâmetros
line String

logging boolean

Retorna
String[]

tokenizeLine

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

Tokeniza a string, dividindo-a no delimitador especificado. Não divide entre aspas duplas consecutivas sem aspas.

Como o tokenizer funciona:

  1. Divida a string em "caracteres", em que cada "caractere" é um caractere com escape, como \" (ou seja, "\\\"") ou um único caractere real, como f (apenas "f").
  2. Para cada "personagem"
    1. Se for um espaço, finalize um token, a menos que esteja sendo citado
    2. Se for uma citação, inverta o bit "Estamos sendo citados"
    3. Caso contrário, adicione ao token que está sendo criado
  3. No EOL, normalmente não adicionamos o token final ao ERROR(/ArrayList) (tokens).
    1. Se o último "caractere" for um caractere de escape, gere uma exceção. Isso não é válido
    2. Se estivermos no meio de uma citação, gere uma exceção; isso não é válido
    3. Caso contrário, adicione o token final a (tokens).
  4. Retornar uma versão String[] de (tokens)

Parâmetros
line String: um String a ser tokenizado

delim String: o delimitador para dividir

logging boolean: registrar ou não operações

Retorna
String[] Uma versão tokenizada da string

Gera
IllegalArgumentException se a linha não puder ser analisada