org.apache.regexp
Class REProgram

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

public class REProgram
extends java.lang.Object

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,v 1.1 2000/04/27 01:22:33 jon Exp $
Author:
Jonathan Locke
See Also:
RE, RECompiler

Field Summary
(package private)  int flags
           
(package private)  char[] instruction
           
(package private)  int lenInstruction
           
(package private) static int OPT_HASBACKREFS
           
(package private)  char[] prefix
           
 
Constructor Summary
REProgram(char[] instruction)
          Constructs a program object from a character array
REProgram(char[] instruction, int lenInstruction)
          Constructs a program object from a character array
 
Method Summary
 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.
 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, registerNatives, toString, wait, wait, wait
 

Field Detail

OPT_HASBACKREFS

static final int OPT_HASBACKREFS

instruction

char[] instruction

lenInstruction

int lenInstruction

prefix

char[] prefix

flags

int flags
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(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


Copyright © 2000 Apache Software Foundation. All Rights Reserved.