Eidola home

org.eidola.kernel
Class Variable

java.lang.Object
  |
  +--org.eidola.kernel.event.EventBroadcaster
        |
        +--org.eidola.kernel.Container
              |
              +--org.eidola.kernel.Element
                    |
                    +--org.eidola.kernel.NamedElement
                          |
                          +--org.eidola.kernel.Variable

public class Variable
extends NamedElement

A named and typed reference to an object.

Structure:

Signature:

See note on synchronization and concurrent read safety in Container.

Version:
[Development version]
Author:
Paul Cantrell

Inner Class Summary
 class Variable.Compilation
           
 
Inner classes inherited from class org.eidola.kernel.NamedElement
NamedElement.Compilation
 
Inner classes inherited from class org.eidola.kernel.Element
Element.Compilation
 
Inner classes inherited from class org.eidola.kernel.Container
Container.Compilation
 
Field Summary
static ContainerPart TYPE
          Part of an element.
 
Fields inherited from class org.eidola.kernel.NamedElement
NAME
 
Fields inherited from class org.eidola.kernel.Element
OWNER
 
Fields inherited from class org.eidola.kernel.Container
CONTENTS, debugCompile
 
Fields inherited from class org.eidola.kernel.event.EventBroadcaster
debugEvents
 
Constructor Summary
Variable()
          Creates a new variable with no type.
 
Method Summary
 void dump(int i)
          Does a debug dump of this container to System.out.
 Class getType()
          Returns this variable's type.
 void handleTypeEvent(ContainerEvent event)
          Handles events coming from the variable's type.
protected  Container.Compilation makeNewCompilation()
          Creates a new Variable.Compilation of an appropriate type for this container.
 void setType(Class newType)
          Sets this class's type.
 
Methods inherited from class org.eidola.kernel.NamedElement
broadcastEvent, getName, getSignatureVersion, setName
 
Methods inherited from class org.eidola.kernel.Element
getFullName, getIndirectOwners, getNamespace, getOwner, handleOwnerEvent, setOwner, toString
 
Methods inherited from class org.eidola.kernel.Container
compile, finalize, getCompilation, getCompileVersion, getStructureVersion, handleContentEvent, handleSelfEvent
 
Methods inherited from class org.eidola.kernel.event.EventBroadcaster
addListener, removeListener, updateBroadcasters
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

public static final ContainerPart TYPE
Part of an element.
See Also:
StructureChanged
Constructor Detail

Variable

public Variable()
Creates a new variable with no type.
Method Detail

getType

public Class getType()
Returns this variable's type.

setType

public void setType(Class newType)
             throws IllegalElementType
Sets this class's type.

handleTypeEvent

public void handleTypeEvent(ContainerEvent event)
Handles events coming from the variable's type.

makeNewCompilation

protected Container.Compilation makeNewCompilation()
Description copied from class: Container
Creates a new Container.Compilation of an appropriate type for this container. This method only exists because Java does not use runtime types to resolve inner class names; in other words, there are no virtual inner classes. Under normal circumstances, you will not need to call this method directly; use Container.compile() instead. It is a good idea to synchronize on the container when calling this method.
Overrides:
makeNewCompilation in class Container

dump

public void dump(int i)
Description copied from class: Container
Does a debug dump of this container to System.out.
Overrides:
dump in class Container

Eidola home