mitoolkit.core
Class SerializationHandler

java.lang.Object
  extended bymitoolkit.core.SerializationHandler
All Implemented Interfaces:
ClassClosureConstants, CoreConstants, ObjectClosureConstants, PriorityConstants

public class SerializationHandler
extends java.lang.Object
implements CoreConstants, ClassClosureConstants, ObjectClosureConstants, PriorityConstants


Nested Class Summary
private  class SerializationHandler.ListenerNotificationThread
           
 
Field Summary
private static java.lang.String builtinUbiPackages
           
protected static java.lang.String[] classpath
           
protected static java.lang.String[] classpathEntries
          Contains all the directories listed in the CLASSPATH system variable.
protected static MessagePrinter cmp
           
private static ClassSpaceManager csm
           
private  ListenerNotifier ln
           
private static MobileClassLoader sharedClassLoader
           
private static ClassSpace sharedClassSpace
           
private  java.lang.String sourceID
           
private static java.util.Vector ubiquitousClasses
           
private static java.util.Vector ubiquitousPackagePrefixes
           
private static java.util.Vector ubiquitousPackages
          Holds the list of ubiquitous packages that have been specified without subpackages
 
Fields inherited from interface mitoolkit.core.CoreConstants
CLASS, DEFAULT_UBI_CLASSES, OBJECT, PACKAGE_NAME, PREPARE
 
Fields inherited from interface mitoolkit.core.ClassClosureConstants
DECLARED, DECLAREDCLOSURE, FULLCLOSURE, NONE, REFERENCED, ROOT
 
Fields inherited from interface mitoolkit.core.ObjectClosureConstants
OBJECT_DECLARED, OBJECT_DECLAREDCLOSURE, OBJECT_FULLCLOSURE, OBJECT_NONE, OBJECT_REFERENCED, OBJECT_ROOT
 
Fields inherited from interface mitoolkit.core.PriorityConstants
PRIVATE, SHARED
 
Constructor Summary
SerializationHandler()
           
SerializationHandler(java.lang.String sourceID)
           
 
Method Summary
 boolean addClass(ClassListener listener, java.lang.String classType)
           
 boolean addClass(ObjectListener listener, java.lang.String classType)
           
 void addListener(ClassListener listener)
           
 void addListener(ClassListener listener, java.lang.String className)
           
 void addListener(ClassListener listener, java.lang.String[] classNames)
           
 void addListener(ObjectListener listener)
           
 void addListener(ObjectListener listener, java.lang.String className)
           
 void addListener(ObjectListener listener, java.lang.String[] classNames)
           
static void addUbiquitousClass(java.lang.String className)
           
static void addUbiquitousPackage(java.lang.String packageName)
           
private  java.lang.String generateSourceID()
           
static MobileClassLoader getSharedClassLoader()
           
static ClassSpace getSharedClassSpace()
           
 java.lang.String getSourceID()
           
private  void initialise()
           
private static void insertUbiquitousPackage(java.lang.String packageName)
           
static boolean isDebugON()
           
static boolean isErrorsON()
           
static boolean isUbiquitous(java.lang.String className)
           
static void main(java.lang.String[] args)
           
 byte[] pack(java.lang.Class c, int closureType, int priority)
           
 byte[] pack(java.lang.Object obj, int closureType, int objectClosureType, int priority)
           
 byte[] pack(Prepare obj, int closureType, int objectClosureType, int priority)
           
private  byte[] packType(LMU obj, int type, int closureType, int objectClosureType, int priority)
           
private  byte[] packType(java.lang.Object obj, int type, int closureType, int objectClosureType, int priority)
           
 boolean removeClass(ClassListener listener, java.lang.String classType)
           
 boolean removeClass(ObjectListener listener, java.lang.String classType)
           
 void removeJavaUbiquitous()
           
 boolean removeListener(ClassListener listener)
           
 boolean removeListener(ObjectListener listener)
           
static void setDebug(boolean isON)
           
static void setErrors(boolean isON)
           
 void setJavaUbiquitous()
           
 void unpack(byte[] buffer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

csm

private static ClassSpaceManager csm

ln

private ListenerNotifier ln

sourceID

private java.lang.String sourceID

sharedClassLoader

private static MobileClassLoader sharedClassLoader

sharedClassSpace

private static ClassSpace sharedClassSpace

cmp

protected static MessagePrinter cmp

builtinUbiPackages

private static final java.lang.String builtinUbiPackages
See Also:
Constant Field Values

ubiquitousPackagePrefixes

private static java.util.Vector ubiquitousPackagePrefixes

ubiquitousPackages

private static java.util.Vector ubiquitousPackages
Holds the list of ubiquitous packages that have been specified without subpackages


ubiquitousClasses

private static java.util.Vector ubiquitousClasses

classpathEntries

protected static java.lang.String[] classpathEntries
Contains all the directories listed in the CLASSPATH system variable. Used for locating a class in the system.(copied from mucode) Static since each Handler instance residing on the same JVM has the same classpath entries


classpath

protected static java.lang.String[] classpath
Constructor Detail

SerializationHandler

public SerializationHandler()

SerializationHandler

public SerializationHandler(java.lang.String sourceID)
Method Detail

initialise

private void initialise()

generateSourceID

private java.lang.String generateSourceID()

getSourceID

public java.lang.String getSourceID()

getSharedClassLoader

public static MobileClassLoader getSharedClassLoader()

getSharedClassSpace

public static ClassSpace getSharedClassSpace()

setJavaUbiquitous

public void setJavaUbiquitous()

removeJavaUbiquitous

public void removeJavaUbiquitous()

addUbiquitousPackage

public static final void addUbiquitousPackage(java.lang.String packageName)

insertUbiquitousPackage

private static final void insertUbiquitousPackage(java.lang.String packageName)

addUbiquitousClass

public static void addUbiquitousClass(java.lang.String className)

isUbiquitous

public static final boolean isUbiquitous(java.lang.String className)

pack

public byte[] pack(java.lang.Class c,
                   int closureType,
                   int priority)
            throws java.lang.ClassNotFoundException,
                   java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException

pack

public byte[] pack(Prepare obj,
                   int closureType,
                   int objectClosureType,
                   int priority)
            throws java.lang.ClassNotFoundException,
                   java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException

pack

public byte[] pack(java.lang.Object obj,
                   int closureType,
                   int objectClosureType,
                   int priority)
            throws java.lang.ClassNotFoundException,
                   java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException

packType

private byte[] packType(LMU obj,
                        int type,
                        int closureType,
                        int objectClosureType,
                        int priority)
                 throws java.lang.ClassNotFoundException,
                        java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException

packType

private byte[] packType(java.lang.Object obj,
                        int type,
                        int closureType,
                        int objectClosureType,
                        int priority)
                 throws java.lang.ClassNotFoundException,
                        java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException

unpack

public void unpack(byte[] buffer)
            throws java.lang.ClassNotFoundException,
                   java.io.IOException,
                   DuplicateClassException
Throws:
java.lang.ClassNotFoundException
java.io.IOException
DuplicateClassException

addListener

public void addListener(ClassListener listener)

addListener

public void addListener(ClassListener listener,
                        java.lang.String className)

addListener

public void addListener(ClassListener listener,
                        java.lang.String[] classNames)

addListener

public void addListener(ObjectListener listener)

addListener

public void addListener(ObjectListener listener,
                        java.lang.String className)

addListener

public void addListener(ObjectListener listener,
                        java.lang.String[] classNames)

removeListener

public boolean removeListener(ClassListener listener)

removeListener

public boolean removeListener(ObjectListener listener)

removeClass

public boolean removeClass(ObjectListener listener,
                           java.lang.String classType)

removeClass

public boolean removeClass(ClassListener listener,
                           java.lang.String classType)

addClass

public boolean addClass(ClassListener listener,
                        java.lang.String classType)

addClass

public boolean addClass(ObjectListener listener,
                        java.lang.String classType)

isDebugON

public static boolean isDebugON()

isErrorsON

public static boolean isErrorsON()

setDebug

public static void setDebug(boolean isON)

setErrors

public static void setErrors(boolean isON)

main

public static void main(java.lang.String[] args)