org.apache.regexp

## Class REProgram

- java.lang.Object
- - org.apache.regexp.REProgram

- All Implemented Interfaces:
    java.io.Serializable

      public class REProgram
      extends java.lang.Object
      implements java.io.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:
    `RE`, `RECompiler`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) int` | `flags`
    `(package private) char[]` | `instruction`
    `(package private) int` | `lenInstruction`
    `(package private) int` | `maxParens`
    `(package private) static int` | `OPT_HASBACKREFS`
    `(package private) static int` | `OPT_HASBOL`
    `(package private) char[]` | `prefix`

  - ### Constructor Summary

    Constructors
    Constructor and 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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `char[]` | `getPrefix()` 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 Detail

    - #### OPT_HASBACKREFS

          static final int OPT_HASBACKREFS

      See Also:
        Constant Field Values

    - #### OPT_HASBOL

          static final int OPT_HASBOL

      See Also:
        Constant Field Values

    - #### instruction

          char[] instruction

    - #### lenInstruction

          int lenInstruction

    - #### prefix

          char[] prefix

    - #### flags

          int flags

    - #### maxParens

          int maxParens

  - ### Constructor Detail

    - #### 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 Detail

    - #### 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

Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.