Class Scanner

java.lang.Object
org.joox.selector.Scanner

public class Scanner extends Object
A selectors scanner as defined by Selectors Level 3 specification.

This implementation uses the Ragel State Machine Compiler.

Use the following command to generate the Java code for the scanner:

 ragel -J Scanner.java.rl -o ../java/se/fishtank/css/selectors/scanner/Scanner.java
 
  • Field Details

    • input

      private final String input
      The input to scan.
    • _Scanner_actions

      private static final byte[] _Scanner_actions
    • _Scanner_key_offsets

      private static final short[] _Scanner_key_offsets
    • _Scanner_trans_keys

      private static final char[] _Scanner_trans_keys
    • _Scanner_single_lengths

      private static final byte[] _Scanner_single_lengths
    • _Scanner_range_lengths

      private static final byte[] _Scanner_range_lengths
    • _Scanner_index_offsets

      private static final short[] _Scanner_index_offsets
    • _Scanner_indicies

      private static final short[] _Scanner_indicies
    • _Scanner_trans_targs

      private static final short[] _Scanner_trans_targs
    • _Scanner_trans_actions

      private static final short[] _Scanner_trans_actions
    • _Scanner_eof_actions

      private static final short[] _Scanner_eof_actions
    • Scanner_start

      static final int Scanner_start
      See Also:
    • Scanner_first_final

      static final int Scanner_first_final
      See Also:
    • Scanner_error

      static final int Scanner_error
      See Also:
    • Scanner_en_neg

      static final int Scanner_en_neg
      See Also:
    • Scanner_en_main

      static final int Scanner_en_main
      See Also:
  • Constructor Details

    • Scanner

      public Scanner(CharSequence input)
      Create a new scanner instance with the specified input.
  • Method Details

    • init__Scanner_actions_0

      private static byte[] init__Scanner_actions_0()
    • init__Scanner_key_offsets_0

      private static short[] init__Scanner_key_offsets_0()
    • init__Scanner_trans_keys_0

      private static char[] init__Scanner_trans_keys_0()
    • init__Scanner_single_lengths_0

      private static byte[] init__Scanner_single_lengths_0()
    • init__Scanner_range_lengths_0

      private static byte[] init__Scanner_range_lengths_0()
    • init__Scanner_index_offsets_0

      private static short[] init__Scanner_index_offsets_0()
    • init__Scanner_indicies_0

      private static short[] init__Scanner_indicies_0()
    • init__Scanner_trans_targs_0

      private static short[] init__Scanner_trans_targs_0()
    • init__Scanner_trans_actions_0

      private static short[] init__Scanner_trans_actions_0()
    • init__Scanner_eof_actions_0

      private static short[] init__Scanner_eof_actions_0()
    • scan

      public List<List<Selector>> scan() throws ScannerException
      Scan the input.
      Returns:
      A list of selector groups that contain a list of Selectors scanned.
      Throws:
      ScannerException - If the input is invalid.
    • getSlice

      private String getSlice(int start, int end)
      Get a slice from the scanner input.
      Parameters:
      start - The start offset.
      end - The end offset.
      Returns:
      A substring starting at start and ending in end.