QuotationAwareTokenizer

public class QuotationAwareTokenizer
extends Object

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


Résumé

Constructeurs publics

QuotationAwareTokenizer()

Méthodes publiques

static String combineTokens(String... tokens)

Effectue l'opération inverse de tokenizeLine(String).

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

Tokenise la chaîne en la divisant en espaces.

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

Tokenise la chaîne en la divisant en espaces.

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

Tokenise la chaîne en la divisant en fonction du délimiteur spécifié.

Constructeurs publics

QuotationAwareTokenizer

public QuotationAwareTokenizer ()

Méthodes publiques

combineTokens

public static String combineTokens (String... tokens)

Effectue l'opération inverse de tokenizeLine(String).
À partir d'un tableau de jetons, les combine en une seule ligne.

Renvoie
String Une String créée à partir de tous les jetons.

tokenizeLine

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

Paramètres
line String

delim String

Renvoie
String[]

tokenizeLine

public static String[] tokenizeLine (String line)

Tokenise la chaîne en la divisant en espaces. Ne divise pas entre des guillemets doubles consécutifs non mis entre guillemets.

Voir aussi tokenizeLine(String,String)

Paramètres
line String

Renvoie
String[]

tokenizeLine

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

Tokenise la chaîne en la divisant en espaces. Ne divise pas entre des guillemets doubles consécutifs non mis entre guillemets.

Voir aussi tokenizeLine(String,String)

Paramètres
line String

logging boolean

Renvoie
String[]

tokenizeLine

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

Tokenise la chaîne en la divisant en fonction du délimiteur spécifié. Ne divise pas entre des guillemets doubles consécutifs, non mis entre guillemets.

Fonctionnement du tokenizer :

  1. Divise la chaîne en "caractères", où chaque "caractère" est soit un caractère échappé comme \" (c'est-à-dire "\\\""), soit un caractère réel unique comme f (juste "f").
  2. Pour chaque "caractère" :
    1. S'il s'agit d'un espace, termine un jeton, sauf si nous sommes entre guillemets.
    2. S'il s'agit d'un guillemet, inverse le bit "nous sommes entre guillemets".
    3. Sinon, l'ajoute au jeton en cours de création.
  3. À la fin de vie, nous n'avons généralement pas ajouté le jeton final à la (jetons) ArrayList
    1. Si le dernier "caractère" est un caractère d'échappement, génère une exception, car ce n'est pas valide
    2. Si nous sommes au milieu d'une citation, génère une exception, car ce n'est pas valide.
    3. Sinon, ajoute le jeton final à (jetons).
  4. Renvoie une version String[] de (jetons).

Paramètres
line String : A String à tokeniser

delim String : délimiteur à diviser

logging boolean : indique si les opérations doivent être journalisées ou non

Renvoie
String[] Version tokenisée de la chaîne

Génère
IllegalArgumentException si la ligne ne peut pas être analysée