# Class REProgram

java.lang.Object
com.codename1.util.regex.REProgram

public class REProgram extends Object
A class that holds compiled regular expressions. You should not need to work directly with this class.

- ## 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[]`
  `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 Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

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