java.lang.Object
cz.zcu.fav.kiv.mjakubas.saf.parser.tokenizer.Tokenizer

public class Tokenizer extends Object
Tokenizes command.
  • Field Details

    • CLASS_TOKEN_IDENTIFIER

      public static final char CLASS_TOKEN_IDENTIFIER
      See Also:
    • COMMAND_STRING_TOKEN_IDENTIFIER

      public static final char COMMAND_STRING_TOKEN_IDENTIFIER
      See Also:
    • FILETYPE_CLASS_TOKEN_IDENTIFIER

      public static final char FILETYPE_CLASS_TOKEN_IDENTIFIER
      See Also:
  • Constructor Details

    • Tokenizer

      public Tokenizer(@NotNull @NotNull Properties commandProperties)
      Instantiates new Tokenizer with command Properties.
      Parameters:
      commandProperties - Properties containing list of accepted commands
  • Method Details

    • tokenize

      public List<Token> tokenize(@NotNull @NotNull String[] args) throws TokenException
      Tokenizes array of String arguments.
      Parameters:
      args - array of String arguments
      Returns:
      tokenized array of String arguments
      Throws:
      TokenException - if any argument fails to be tokenized
    • isClassValue

      public boolean isClassValue(@NotNull @NotNull String arg)
      Checks if argument is expected to be of Class value.
      Parameters:
      arg - argument
      Returns:
      true or false
    • isFileTypeValue

      public boolean isFileTypeValue(@NotNull @NotNull String arg)
      Checks if argument is expected to be of FileType value.
      Parameters:
      arg - argument
      Returns:
      true or false
    • processClassValue

      public Class<?> processClassValue(@NotNull @NotNull String arg) throws ClassNotFoundException
      Tries to process a command argument as a Class value. The argument should be wrapped in angle brackets.
      Parameters:
      arg - command argument
      Returns:
      Class of token
      Throws:
      ClassNotFoundException - if Class is not found
    • processFileTypeValue

      public Class<?> processFileTypeValue()
      Processes a command as a FileType. The argument should be wrapped in square brackets.
      Returns:
      FileType Class
    • processStringValue

      public String processStringValue(@NotNull @NotNull String arg) throws IOException
      Process a command as a String value either as a fixed command value or as an expected command value wrapped in curly brackets.
      Parameters:
      arg - command argument
      Returns:
      String value
      Throws:
      IOException - if expected command doesn't exist