Class REProgram

java.lang.Object
org.apache.regexp.REProgram
All Implemented Interfaces:
Serializable

public class REProgram extends Object implements Serializable
A class that holds compiled regular expressions. This is exposed mainly for use by the recompile utility (which helps you produce precompiled REProgram objects). You should not otherwise need to work directly with this class.
Version:
$Id: REProgram.java 518156 2007-03-14 14:31:26Z vgritsenko $
Author:
Jonathan Locke
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) int
     
    (package private) char[]
     
    (package private) int
     
    (package private) int
     
    (package private) static final int
     
    (package private) static final int
     
    (package private) char[]
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    REProgram(char[] instruction)
    Constructs a program object from a character array
    REProgram(char[] instruction, int lenInstruction)
    Constructs a program object from a character array
    REProgram(int parens, char[] instruction)
    Constructs a program object from a character array
  • Method Summary

    Modifier and Type
    Method
    Description
    char[]
    Returns a copy of the current regular expression program in a character array that is exactly the right length to hold the program.
    char[]
    Returns a copy of the prefix of current regular expression program in a character array.
    void
    setInstructions(char[] instruction, int lenInstruction)
    Sets a new regular expression program to run.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • OPT_HASBACKREFS

      static final int OPT_HASBACKREFS
      See Also:
    • OPT_HASBOL

      static final int OPT_HASBOL
      See Also:
    • instruction

      char[] instruction
    • lenInstruction

      int lenInstruction
    • prefix

      char[] prefix
    • flags

      int flags
    • maxParens

      int maxParens
  • Constructor Details

    • REProgram

      public REProgram(char[] instruction)
      Constructs a program object from a character array
      Parameters:
      instruction - Character array with RE opcode instructions in it
    • REProgram

      public REProgram(int parens, char[] instruction)
      Constructs a program object from a character array
      Parameters:
      parens - Count of parens in the program
      instruction - Character array with RE opcode instructions in it
    • REProgram

      public REProgram(char[] instruction, int lenInstruction)
      Constructs a program object from a character array
      Parameters:
      instruction - Character array with RE opcode instructions in it
      lenInstruction - Amount of instruction array in use
  • Method Details

    • getInstructions

      public char[] getInstructions()
      Returns a copy of the current regular expression program in a character array that is exactly the right length to hold the program. If there is no program compiled yet, getInstructions() will return null.
      Returns:
      A copy of the current compiled RE program
    • setInstructions

      public void setInstructions(char[] instruction, int lenInstruction)
      Sets a new regular expression program to run. It is this method which performs any special compile-time search optimizations. Currently only two optimizations are in place - one which checks for backreferences (so that they can be lazily allocated) and another which attempts to find an prefix anchor string so that substantial amounts of input can potentially be skipped without running the actual program.
      Parameters:
      instruction - Program instruction buffer
      lenInstruction - Length of instruction buffer in use
    • getPrefix

      public char[] getPrefix()
      Returns a copy of the prefix of current regular expression program in a character array. If there is no prefix, or there is no program compiled yet, getPrefix will return null.
      Returns:
      A copy of the prefix of current compiled RE program