gate.jape
Class RightHandSide

java.lang.Object
  extended by gate.jape.RightHandSide
All Implemented Interfaces:
JapeConstants, Serializable

public class RightHandSide
extends Object
implements JapeConstants, Serializable

The RHS of a CPSL rule. The action part. Contains an inner class created from the code in the grammar RHS.

See Also:
Serialized Form

Field Summary
private  byte[] actionClassBytes
          The bytes of the compiled action class.
private  String actionClassClassFileName
          Name of the .class file for the action class.
private  String actionClassJavaFileName
          Name of the .java file for the action class.
private  String actionClassName
          The name of the action class.
private static AtomicInteger actionClassNumber
          Cardinality of the action class set.
private  String actionClassQualifiedName
          The qualified name of the action class.
private  StringBuffer actionClassString
          The string we use to create the action class.
private static String actionsDirName
          Package name for action classes.
private  Set<String> blockNames
          The set of block names.
(package private) static boolean debug
          Debug flag.
private static boolean DEBUG
          Debug flag
private  LeftHandSide lhs
          The LHS of our rule, where we get bindings from.
private  String nl
          Local fashion for newlines.
private  String phaseName
           
private  String ruleName
           
private static long serialVersionUID
           
private  SourceInfo sourceInfo
          A list of source info object for mapping between Java and Jape.
private static ArrayList tempFiles
          A list of the files and directories we create.
private  Object theActionObject
          An instance of theActionClass.
private static Set<StackTraceElement> warnings
           
 
Fields inherited from interface gate.jape.JapeConstants
ALL_STYLE, APPELT_STYLE, BRILL_STYLE, DEFAULT_PRIORITY, FIRST_STYLE, INDENT_PADDING, KLEENE_PLUS, KLEENE_QUERY, KLEENE_STAR, MULTI_SPAN_BINDING, NO_BINDING, NO_KLEENE_OP, ONCE_STYLE, SINGLE_SPAN_BINDING
 
Constructor Summary
RightHandSide(String transducerName, String ruleName, LeftHandSide lhs, String importblock)
          Construction from the transducer name, rule name and the LHS.
 
Method Summary
 void addBlock(String anonymousBlock)
          Add an anonymous block to the action class
 void addBlock(String name, String namedBlock)
          Add a named block to the action class
static void cleanUp()
          Remove class files created for actions.
 void createActionClass()
          Create the action class and an instance of it.
 String getActionClassName()
           
 String getActionClassString()
          Returns the string for the java code
 String getPhaseName()
           
 String getRuleName()
           
 void instantiateActionClass()
          Create an instance of the action class.
private  void readObject(ObjectInputStream in)
           
 void setPhaseName(String phaseName)
           
 void setRuleName(String ruleName)
           
 String shortDesc()
          Create a string representation of the object.
 String toString()
          Create a string representation of the object.
 String toString(String pad)
          Create a string representation of the object.
 void transduce(Document doc, Map<String,AnnotationSet> bindings, AnnotationSet inputAS, AnnotationSet outputAS, Ontology ontology, ActionContext actionContext)
          Makes changes to the document, using LHS bindings.
private  void writeObject(ObjectOutputStream out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

DEBUG

private static final boolean DEBUG
Debug flag

See Also:
Constant Field Values

theActionObject

private transient Object theActionObject
An instance of theActionClass.


actionClassString

private StringBuffer actionClassString
The string we use to create the action class.


actionClassBytes

private byte[] actionClassBytes
The bytes of the compiled action class.


actionClassName

private String actionClassName
The name of the action class.


actionsDirName

private static String actionsDirName
Package name for action classes. It's called a "dir name" because we used to dump the action classes to disk and compile them there.


actionClassQualifiedName

private String actionClassQualifiedName
The qualified name of the action class.


actionClassJavaFileName

private String actionClassJavaFileName
Name of the .java file for the action class.


actionClassClassFileName

private String actionClassClassFileName
Name of the .class file for the action class.


sourceInfo

private transient SourceInfo sourceInfo
A list of source info object for mapping between Java and Jape.


actionClassNumber

private static AtomicInteger actionClassNumber
Cardinality of the action class set. Used for ensuring class name uniqueness.


blockNames

private Set<String> blockNames
The set of block names. Used to ensure we only get their annotations once in the action class.


lhs

private LeftHandSide lhs
The LHS of our rule, where we get bindings from.


tempFiles

private static ArrayList tempFiles
A list of the files and directories we create.


nl

private final String nl
Local fashion for newlines.


debug

static final boolean debug
Debug flag.

See Also:
Constant Field Values

phaseName

private String phaseName

ruleName

private String ruleName

warnings

private static Set<StackTraceElement> warnings
Constructor Detail

RightHandSide

public RightHandSide(String transducerName,
                     String ruleName,
                     LeftHandSide lhs,
                     String importblock)
Construction from the transducer name, rule name and the LHS.

Method Detail

getActionClassString

public String getActionClassString()
Returns the string for the java code


getActionClassName

public String getActionClassName()

addBlock

public void addBlock(String anonymousBlock)
Add an anonymous block to the action class


addBlock

public void addBlock(String name,
                     String namedBlock)
Add a named block to the action class


createActionClass

public void createActionClass()
                       throws JapeException
Create the action class and an instance of it.

Throws:
JapeException

instantiateActionClass

public void instantiateActionClass()
                            throws JapeException
Create an instance of the action class.

Throws:
JapeException

cleanUp

public static void cleanUp()
Remove class files created for actions.


writeObject

private void writeObject(ObjectOutputStream out)
                  throws IOException
Throws:
IOException

readObject

private void readObject(ObjectInputStream in)
                 throws IOException,
                        ClassNotFoundException
Throws:
IOException
ClassNotFoundException

transduce

public void transduce(Document doc,
                      Map<String,AnnotationSet> bindings,
                      AnnotationSet inputAS,
                      AnnotationSet outputAS,
                      Ontology ontology,
                      ActionContext actionContext)
               throws JapeException
Makes changes to the document, using LHS bindings.

Throws:
JapeException

toString

public String toString()
Create a string representation of the object.

Overrides:
toString in class Object

toString

public String toString(String pad)
Create a string representation of the object.


shortDesc

public String shortDesc()
Create a string representation of the object.


setPhaseName

public void setPhaseName(String phaseName)

getPhaseName

public String getPhaseName()

setRuleName

public void setRuleName(String ruleName)

getRuleName

public String getRuleName()