Class mxCodecRegistry

java.lang.Object
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 Details

    • 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 Details

    • mxCodecRegistry

      public mxCodecRegistry()
  • Method Details

    • 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.