QuotationAwareTokenizer

public class QuotationAwareTokenizer
extends Object

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


Podsumowanie

Konstruktory publiczne

QuotationAwareTokenizer()

Metody publiczne

static String combineTokens(String... tokens)

Wykonaj odwrotność działania tokenizeLine(String).

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

Dzieli ciąg znaków na tokeny, rozdzielając go spacjami.

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

Dzieli ciąg znaków na tokeny, rozdzielając go spacjami.

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

Dzieli ciąg znaków na tokeny, używając określonego separatora.

Konstruktory publiczne

QuotationAwareTokenizer

public QuotationAwareTokenizer ()

Metody publiczne

combineTokens

public static String combineTokens (String... tokens)

Wykonaj odwrotność działania tokenizeLine(String).
 Mając tablicę tokenów, połącz je w jeden wiersz.

Zwraca
String String utworzony ze wszystkich tokenów.

tokenizeLine

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

Parametry
line String

delim String

Zwraca
String[]

tokenizeLine

public static String[] tokenizeLine (String line)

Dzieli ciąg znaków na tokeny, rozdzielając go spacjami. Nie dzieli ciągu znaków między kolejnymi, niepoprzedzonymi znakiem zmiany znaczenia podwójnymi cudzysłowami.

Zobacz też tokenizeLine(String,String)

Parametry
line String

Zwraca
String[]

tokenizeLine

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

Dzieli ciąg znaków na tokeny, rozdzielając go spacjami. Nie dzieli ciągu znaków między kolejnymi, niepoprzedzonymi znakiem zmiany znaczenia podwójnymi cudzysłowami.

Zobacz też tokenizeLine(String,String)

Parametry
line String

logging boolean

Zwraca
String[]

tokenizeLine

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

Dzieli ciąg znaków na tokeny, używając określonego separatora. Nie dzieli ciągu znaków między kolejnymi, niepoprzedzonymi znakiem zmiany znaczenia podwójnymi cudzysłowami.

Jak działa tokenizacja:

  1. Podziel ciąg znaków na „znaki”, gdzie każdy „znak” jest znakiem specjalnym, np. \" (czyli „\\\"”), lub pojedynczym znakiem, np. f (czyli „f”).
  2. W przypadku każdego „znaku”:
    1. Jeśli jest to spacja, zakończ token, chyba że jest to cytat.
    2. Jeśli jest to cudzysłów, odwróć bit „jesteśmy cytowani”.
    3. W przeciwnym razie dodaj go do tworzonego tokena.
  3. Zazwyczaj w momencie zakończenia okresu wsparcia nie dodajemy ostatniego tokena do listy tokenów.ArrayList
    1. Jeśli ostatni „znak” jest znakiem ucieczki, zgłoś wyjątek, ponieważ jest to nieprawidłowe.
    2. Jeśli jesteśmy w trakcie cytowania, zgłoś wyjątek, ponieważ to nie jest prawidłowe.
    3. W przeciwnym razie dodaj ostatni token do (tokens).
  4. Zwraca wersję String[] (tokenów)

Parametry
line String: String do tokenizacji

delim String: separator, według którego ma nastąpić podział

logging boolean: czy logować operacje

Zwraca
String[] wersja ciągu znaków po tokenizacji,

Zgłasza
IllegalArgumentException jeśli nie można przeanalizować wiersza,