org.erights.e.elib.prim
Class StaticMaker

java.lang.Object
  |
  +--org.erights.e.elib.prim.StaticMaker
All Implemented Interfaces:
Amplifiable, Callable, Marker, PassByConstruction, Persistent, Serializable

public class StaticMaker
extends Object
implements Callable, Persistent, PassByConstruction

Untamed:

See Also:
Serialized Form

Field Summary
private static FlexMap MakerCache
           
private  Class myClass
           
private  VTable myVTable
           
(package private) static long serialVersionUID
           
private static String[][] Sugarings
           
private static EMap TheSugars
          Maps fq class names to the fqn of the classes that sugar the maker for that class.
 
Fields inherited from interface org.erights.e.elib.serial.Persistent
HONORARY, HONORED_NAMES
 
Fields inherited from interface org.erights.e.elib.serial.PassByConstruction
HONORARY, HONORED_NAMES
 
Constructor Summary
private StaticMaker(Class clazz)
           
 
Method Summary
 TypeDesc asType()
          Suppressed: Returns the type represented by the wrapped class.
 Object callAll(String verb, Object[] args)
          Suppressed:
 TypeDesc getAllegedType()
          Suppressed:
private  String getClassSig()
           
 VTable getVTable()
          Suppressed:
static StaticMaker make(Class clazz)
          Enabled:
 SealedBox optSealedDispatch(Brand brand)
          Suppressed: For now this returns null.
 Script optShorten(String verb, Object[] args)
          Suppressed: Return myVTable;
static Class OptSugar(Class clazz)
          Enabled: Add methods for sugaring the class's maker behavior
private  Object readResolve()
           
 boolean respondsTo(String verb, int arity)
          Suppressed:
 String toString()
          Suppressed: Another special dispensation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID

Sugarings

private static final String[][] Sugarings

TheSugars

private static EMap TheSugars
Maps fq class names to the fqn of the classes that sugar the maker for that class. TheSugars is initialized lazily in order to avoid a fatal circular static initialization dependency with ConstMap.


MakerCache

private static final FlexMap MakerCache

myClass

private Class myClass

myVTable

private transient VTable myVTable
See Also:
readResolve()
Constructor Detail

StaticMaker

private StaticMaker(Class clazz)
Method Detail

OptSugar

public static Class OptSugar(Class clazz)
                      throws AlreadyDefinedException
Enabled: Add methods for sugaring the class's maker behavior

AlreadyDefinedException

make

public static StaticMaker make(Class clazz)
Enabled:


getVTable

public VTable getVTable()
Suppressed:


readResolve

private Object readResolve()
                    throws ObjectStreamException
ObjectStreamException

optShorten

public Script optShorten(String verb,
                         Object[] args)
Suppressed: Return myVTable;

Specified by:
optShorten in interface Callable

callAll

public Object callAll(String verb,
                      Object[] args)
Suppressed:

Specified by:
callAll in interface Callable

optSealedDispatch

public SealedBox optSealedDispatch(Brand brand)
Suppressed: For now this returns null.

Specified by:
optSealedDispatch in interface Amplifiable

getClassSig

private String getClassSig()

getAllegedType

public TypeDesc getAllegedType()
Suppressed:

Specified by:
getAllegedType in interface Callable

respondsTo

public boolean respondsTo(String verb,
                          int arity)
Suppressed:

Specified by:
respondsTo in interface Callable

asType

public TypeDesc asType()
Suppressed: Returns the type represented by the wrapped class. By special dispensation, this method is also made available as an E method on an StaticMaker.


toString

public String toString()
Suppressed: Another special dispensation. Since the miranda __printOn() java-calls the instance toString(), if the class doesn't have a static __printOn() method, the miranda one will call this toString() method.

Overrides:
toString in class Object
Returns:
a string representation of the object.


comments?