QuotationAwareTokenizer

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)

Executa 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)

Executa o inverso de tokenizeLine(String).
Dado um array de tokens, combine-os em uma única linha.

Retorna
String Uma String criada 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 e não citadas.

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-a em espaços. Não divide entre aspas duplas consecutivas e não citadas.

Consulte 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, não citadas.

Como o tokenizador funciona:

  1. Divide a string em "caracteres", em que cada "caractere" é um caractere de escape como \" (ou seja, "\\\"") ou um caractere real único, como f (apenas "f").
  2. Para cada "caractere"
    1. Se for um espaço, conclua um token, a menos que estejamos sendo citados.
    2. Se for uma aspa, inverta o bit "estamos sendo citados".
    3. Caso contrário, adicione-o ao token que está sendo criado.
  3. No final da linha, normalmente não adicionamos o token final ao `ArrayList` (tokens) ArrayList
    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 aos tokens.
  4. Retorne uma versão String[] de tokens.

Parâmetros
line String: Um String a ser tokenizado

delim String: o delimitador em que dividir

logging boolean: se as operações serão registradas ou não

Retorna
String[] Uma versão tokenizada da string

Gera
IllegalArgumentException se a linha não puder ser analisada