org.omegahat.Environment.Language.UserClasses
Class AbstractUserClass

java.lang.Object
  |
  +--org.omegahat.Environment.Databases.ObjectDatabase
        |
        +--org.omegahat.Environment.Databases.ReadWriteDatabase
              |
              +--org.omegahat.Environment.Language.UserClasses.MethodsCollection
                    |
                    +--org.omegahat.Environment.Language.UserClasses.AbstractUserClass
All Implemented Interfaces:
Activable, Database, DatabaseNotifier, DynamicFieldAccessInt, DynamicMethodAccessInt, MergableInt, Named, ReadWriteDatabaseInt, java.io.Serializable, Subsettable, UserClassChangeListener
Direct Known Subclasses:
UserClass

public class AbstractUserClass
extends MethodsCollection
implements java.io.Serializable, DynamicFieldAccessInt, DynamicMethodAccessInt, UserClassChangeListener

See Also:
Serialized Form

Field Summary
protected  Method constructors
           
protected  java.util.Vector derivedClasses
           
protected  java.util.Vector listeners
           
protected  Database methods
           
protected  java.lang.String name
           
protected  Database staticFields
           
protected  java.util.Vector superClass
           
 
Fields inherited from class org.omegahat.Environment.Language.UserClasses.MethodsCollection
evaluator
 
Fields inherited from class org.omegahat.Environment.Databases.ReadWriteDatabase
permissions
 
Fields inherited from class org.omegahat.Environment.Databases.ObjectDatabase
state, table, user
 
Fields inherited from interface org.omegahat.Environment.Databases.Database
ALL, ASSIGN, ATTACH, DETACH, NULL_ENTRY, READ, READ_WRITE, REMOVE
 
Fields inherited from interface org.omegahat.Environment.Databases.Activable
ACTIVE, INACTIVE
 
Constructor Summary
AbstractUserClass()
           
AbstractUserClass(int size)
           
AbstractUserClass(java.lang.String name)
           
AbstractUserClass(java.lang.String name, AbstractUserClass superClass)
          Protected since one shouldn't be able to change this.
AbstractUserClass(java.lang.String name, AbstractUserClass[] baseClasses)
           
AbstractUserClass(java.lang.String name, java.util.Vector baseClassName)
           
 
Method Summary
 java.util.Vector addChangeListener(UserClassChangeListener l)
           
 Method addConstructor(Function f)
           
 Method addConstructor(Method f)
           
 Method addMethod(Function f)
           
 Method addMethod(java.lang.String name, Function f)
           
 boolean classRepresentationChanged(UserClassChangeEvent ev, boolean force)
          Method invoked when a user-level class definition is changed to notify an object of this modification.
 Method constructors()
           
 Method constructors(Method m)
           
 java.util.Vector getDeclaredFields()
           
 java.lang.Object getDynamicField(java.lang.String name)
           
 OmegaField getField(java.lang.String name)
           
 java.util.Vector getFields()
           
 java.util.Vector getFields(boolean declared)
           
 Method getMethod(java.lang.String name)
           
 java.util.Vector getSuperclass()
          Same as the one for java.lang.Class.
 java.lang.Object invoke(java.lang.String name, List args, Evaluator evaluator)
           
 java.lang.Object invoke(java.lang.String name, java.lang.Object[] args, Evaluator evaluator)
           
 java.util.Vector listeners()
           
 java.util.Vector listeners(java.util.Vector v)
           
 Database mergeMethods(Database parentMethods)
           
 Database methods()
           
 Database methods(Database m)
           
 java.lang.String name()
           
 java.lang.String name(java.lang.String n)
           
protected  UserClass processSuperClass(UserClass cl, boolean add)
           
 boolean removeChangeListener(UserClassChangeListener l)
           
 java.lang.Object setDynamicField(java.lang.String name, java.lang.Object value)
           
 OmegaField setField(OmegaField field)
           
 OmegaField setField(java.lang.String name)
           
 OmegaField setField(java.lang.String name, java.lang.Class c)
           
 OmegaField setField(java.lang.String name, java.lang.String type)
           
 Database staticFields()
           
 Database staticFields(Database tb)
           
 Database staticFields(int size)
           
 java.util.Vector superClass()
           
 java.util.Vector superClass(AbstractUserClass c)
           
 java.util.Vector superClass(java.util.Vector c)
           
protected  java.util.Vector superClass(java.util.Vector c, boolean add)
           
 
Methods inherited from class org.omegahat.Environment.Language.UserClasses.MethodsCollection
dispatchAndEval, dispatchAndEval, evaluator, evaluator
 
Methods inherited from class org.omegahat.Environment.Databases.ReadWriteDatabase
assign, permissions, permissions, readOnly, readOnly, remove
 
Methods inherited from class org.omegahat.Environment.Databases.ObjectDatabase
addAssignListener, addAttachListener, addDetachListener, addListener, addRemoveListener, assign, attach, clear, detach, exists, get, getName, getState, getTable, merge, merge, notify, objects, put, readOnly, readOnly, readSerialized, readSerialized, readSerialized, remove, setName, setState, setTable, size, subset, table, table
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

superClass

protected java.util.Vector superClass

derivedClasses

protected java.util.Vector derivedClasses

listeners

protected java.util.Vector listeners

constructors

protected Method constructors

methods

protected Database methods

staticFields

protected Database staticFields
Constructor Detail

AbstractUserClass

public AbstractUserClass()

AbstractUserClass

public AbstractUserClass(int size)

AbstractUserClass

public AbstractUserClass(java.lang.String name)

AbstractUserClass

public AbstractUserClass(java.lang.String name,
                         AbstractUserClass superClass)
Protected since one shouldn't be able to change this.

AbstractUserClass

public AbstractUserClass(java.lang.String name,
                         AbstractUserClass[] baseClasses)

AbstractUserClass

public AbstractUserClass(java.lang.String name,
                         java.util.Vector baseClassName)
Method Detail

getFields

public java.util.Vector getFields(boolean declared)

getFields

public java.util.Vector getFields()

getDeclaredFields

public java.util.Vector getDeclaredFields()

listeners

public java.util.Vector listeners()

listeners

public java.util.Vector listeners(java.util.Vector v)

superClass

public java.util.Vector superClass()

getSuperclass

public java.util.Vector getSuperclass()
Same as the one for java.lang.Class.

superClass

public java.util.Vector superClass(AbstractUserClass c)

superClass

public java.util.Vector superClass(java.util.Vector c)

superClass

protected java.util.Vector superClass(java.util.Vector c,
                                      boolean add)

name

public java.lang.String name()

name

public java.lang.String name(java.lang.String n)

staticFields

public Database staticFields()

staticFields

public Database staticFields(int size)

staticFields

public Database staticFields(Database tb)

methods

public Database methods()

methods

public Database methods(Database m)

constructors

public Method constructors()

constructors

public Method constructors(Method m)

processSuperClass

protected UserClass processSuperClass(UserClass cl,
                                      boolean add)

mergeMethods

public Database mergeMethods(Database parentMethods)

setField

public OmegaField setField(java.lang.String name,
                           java.lang.Class c)

setField

public OmegaField setField(java.lang.String name,
                           java.lang.String type)
                    throws java.lang.ClassNotFoundException

setField

public OmegaField setField(java.lang.String name)

setField

public OmegaField setField(OmegaField field)

addMethod

public Method addMethod(java.lang.String name,
                        Function f)

addMethod

public Method addMethod(Function f)

addConstructor

public Method addConstructor(Function f)

addConstructor

public Method addConstructor(Method f)

getField

public OmegaField getField(java.lang.String name)
                    throws java.lang.Throwable

getMethod

public Method getMethod(java.lang.String name)
                 throws java.lang.Throwable

getDynamicField

public java.lang.Object getDynamicField(java.lang.String name)
                                 throws java.lang.Throwable
Specified by:
getDynamicField in interface DynamicFieldAccessInt
Overrides:
getDynamicField in class ObjectDatabase

setDynamicField

public java.lang.Object setDynamicField(java.lang.String name,
                                        java.lang.Object value)
                                 throws java.lang.Throwable
Specified by:
setDynamicField in interface DynamicFieldAccessInt
Overrides:
setDynamicField in class ObjectDatabase

invoke

public java.lang.Object invoke(java.lang.String name,
                               java.lang.Object[] args,
                               Evaluator evaluator)
                        throws java.lang.Throwable
Specified by:
invoke in interface DynamicMethodAccessInt

invoke

public java.lang.Object invoke(java.lang.String name,
                               List args,
                               Evaluator evaluator)
                        throws java.lang.Throwable
Specified by:
invoke in interface DynamicMethodAccessInt

addChangeListener

public java.util.Vector addChangeListener(UserClassChangeListener l)

removeChangeListener

public boolean removeChangeListener(UserClassChangeListener l)

classRepresentationChanged

public boolean classRepresentationChanged(UserClassChangeEvent ev,
                                          boolean force)
Description copied from interface: UserClassChangeListener
Method invoked when a user-level class definition is changed to notify an object of this modification. This might be a class viewer, an instance of the class, a logging system, etc.
Specified by:
classRepresentationChanged in interface UserClassChangeListener
Following copied from interface: org.omegahat.Environment.Language.UserClasses.UserClassChangeListener
Parameters:
ev - an event containing information about which class and element was changed.
force - ?
Returns:
boolean indicating whether the change is ok or if this object wishes to veto the change (false)