org.jgroups.conf
Class ClassConfigurator

java.lang.Object
  extended by org.jgroups.conf.ClassConfigurator

public class ClassConfigurator
extends java.lang.Object

This class will be replaced with the class that read info from the magic number configurator that reads info from the xml file. The name and the relative path of the magic number map file can be specified as value of the property org.jgroups.conf.magicNumberFile. It must be relative to one of the classpath elements, to allow the classloader to locate the file. If a value is not specified, MagicNumberReader.MAGIC_NUMBER_FILE is used, which defaults to "jg-magic-map.xml".

Author:
Filip Hanik, Bela Ban
See Also:
MagicNumberReader

Field Summary
protected  org.apache.commons.logging.Log log
           
 
Constructor Summary
ClassConfigurator()
           
 
Method Summary
 void add(short magic, java.lang.Class clazz)
          Method to register a user-defined header with jg-magic-map at runtime
 java.lang.Class get(short magic)
          Returns a class for a magic number.
 java.lang.Class get(java.lang.String clazzname)
          Loads and returns the class from the class name
static ClassConfigurator getInstance()
           
static ClassConfigurator getInstance(boolean init)
           
 short getMagicNumber(java.lang.Class clazz)
          Returns the magic number for the class.
 short getMagicNumberFromObjectStreamClass(java.io.ObjectStreamClass objStream)
           
 java.io.ObjectStreamClass getObjectStreamClassFromMagicNumber(short magic_number)
           
 void init()
           
static void main(java.lang.String[] args)
           
 java.lang.String printClassMap()
           
 java.lang.String printMagicMap()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected final org.apache.commons.logging.Log log
Constructor Detail

ClassConfigurator

public ClassConfigurator()
Method Detail

init

public void init()
          throws ChannelException
Throws:
ChannelException

getInstance

public static ClassConfigurator getInstance(boolean init)
                                     throws ChannelException
Throws:
ChannelException

getInstance

public static ClassConfigurator getInstance()
                                     throws ChannelException
Throws:
ChannelException

add

public void add(short magic,
                java.lang.Class clazz)
         throws java.lang.IllegalArgumentException
Method to register a user-defined header with jg-magic-map at runtime

Parameters:
magic - The magic number. Needs to be > 1024
clazz - The class. Usually a subclass of Header
Throws:
java.lang.IllegalArgumentException - If the magic number is already taken, or the magic number is <= 1024

get

public java.lang.Class get(short magic)
Returns a class for a magic number. Returns null if no class is found

Parameters:
magic - the magic number that maps to the class
Returns:
a Class object that represents a class that implements java.io.Externalizable

get

public java.lang.Class get(java.lang.String clazzname)
Loads and returns the class from the class name

Parameters:
clazzname - a fully classified class name to be loaded
Returns:
a Class object that represents a class that implements java.io.Externalizable

getMagicNumber

public short getMagicNumber(java.lang.Class clazz)
Returns the magic number for the class.

Parameters:
clazz - a class object that we want the magic number for
Returns:
the magic number for a class, -1 if no mapping is available

getMagicNumberFromObjectStreamClass

public short getMagicNumberFromObjectStreamClass(java.io.ObjectStreamClass objStream)

getObjectStreamClassFromMagicNumber

public java.io.ObjectStreamClass getObjectStreamClassFromMagicNumber(short magic_number)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

printMagicMap

public java.lang.String printMagicMap()

printClassMap

public java.lang.String printClassMap()

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © 1998-2008 Bela Ban. All Rights Reserved.