mxGraph 2.2.0.0


com.mxgraph.io
Class mxCodecRegistry

java.lang.Object
  extended by com.mxgraph.io.mxCodecRegistry

public class mxCodecRegistry
extends Object

Singleton class that acts as a global registry for codecs. See mxCodec for an example.


Field Summary
protected static Hashtable<String,String> aliases
          Maps from classnames to codecnames.
protected static Hashtable<String,mxObjectCodec> codecs
          Maps from constructor names to codecs.
protected static List<String> packages
          Holds the list of known packages.
 
Constructor Summary
mxCodecRegistry()
           
 
Method Summary
static void addAlias(String classname, String codecname)
          Adds an alias for mapping a classname to a codecname.
static void addPackage(String packagename)
          Adds the given package name to the list of known package names.
static Class<?> getClassForName(String name)
          Returns a class that corresponds to the given name.
static mxObjectCodec getCodec(String name)
          Returns a codec that handles the given object, which can be an object instance or an XML node.
static Object getInstanceForName(String name)
          Creates and returns a new instance for the given class name.
static String getName(Object instance)
          Returns the name that identifies the codec associated with the given instance..
static mxObjectCodec register(mxObjectCodec codec)
          Registers a new codec and associates the name of the template constructor in the codec with the codec object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

codecs

protected static Hashtable<String,mxObjectCodec> codecs
Maps from constructor names to codecs.


aliases

protected static Hashtable<String,String> aliases
Maps from classnames to codecnames.


packages

protected static List<String> packages
Holds the list of known packages. Packages are used to prefix short class names (eg. mxCell) in XML markup.

Constructor Detail

mxCodecRegistry

public mxCodecRegistry()
Method Detail

register

public static mxObjectCodec register(mxObjectCodec codec)
Registers a new codec and associates the name of the template constructor in the codec with the codec object. Automatically creates an alias if the codename and the classname are not equal.


addAlias

public static void addAlias(String classname,
                            String codecname)
Adds an alias for mapping a classname to a codecname.


getCodec

public static mxObjectCodec getCodec(String name)
Returns a codec that handles the given object, which can be an object instance or an XML node.

Parameters:
name - Java class name.

addPackage

public static void addPackage(String packagename)
Adds the given package name to the list of known package names.

Parameters:
packagename - Name of the package to be added.

getInstanceForName

public static Object getInstanceForName(String name)
Creates and returns a new instance for the given class name.

Parameters:
name - Name of the class to be instantiated.
Returns:
Returns a new instance of the given class.

getClassForName

public static Class<?> getClassForName(String name)
Returns a class that corresponds to the given name.

Parameters:
name -
Returns:
Returns the class for the given name.

getName

public static String getName(Object instance)
Returns the name that identifies the codec associated with the given instance.. The I/O system uses unqualified classnames, eg. for a com.mxgraph.model.mxCell this returns mxCell.

Parameters:
instance - Instance whose node name should be returned.
Returns:
Returns a string that identifies the codec.

mxGraph 2.2.0.0


Copyright (c) 2010 Gaudenz Alder, David Benson. All rights reserved.