summaryrefslogtreecommitdiff
path: root/src/js/io/mxCodecRegistry.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/io/mxCodecRegistry.js')
-rw-r--r--src/js/io/mxCodecRegistry.js137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/js/io/mxCodecRegistry.js b/src/js/io/mxCodecRegistry.js
deleted file mode 100644
index a0a0f20..0000000
--- a/src/js/io/mxCodecRegistry.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * $Id: mxCodecRegistry.js,v 1.12 2010-04-30 13:18:21 gaudenz Exp $
- * Copyright (c) 2006-2010, JGraph Ltd
- */
-var mxCodecRegistry =
-{
- /**
- * Class: mxCodecRegistry
- *
- * Singleton class that acts as a global registry for codecs.
- *
- * Adding an <mxCodec>:
- *
- * 1. Define a default codec with a new instance of the
- * object to be handled.
- *
- * (code)
- * var codec = new mxObjectCodec(new mxGraphModel());
- * (end)
- *
- * 2. Define the functions required for encoding and decoding
- * objects.
- *
- * (code)
- * codec.encode = function(enc, obj) { ... }
- * codec.decode = function(dec, node, into) { ... }
- * (end)
- *
- * 3. Register the codec in the <mxCodecRegistry>.
- *
- * (code)
- * mxCodecRegistry.register(codec);
- * (end)
- *
- * <mxObjectCodec.decode> may be used to either create a new
- * instance of an object or to configure an existing instance,
- * in which case the into argument points to the existing
- * object. In this case, we say the codec "configures" the
- * object.
- *
- * Variable: codecs
- *
- * Maps from constructor names to codecs.
- */
- codecs: [],
-
- /**
- * Variable: aliases
- *
- * Maps from classnames to codecnames.
- */
- aliases: [],
-
- /**
- * Function: register
- *
- * Registers a new codec and associates the name of the template
- * constructor in the codec with the codec object.
- *
- * Parameters:
- *
- * codec - <mxObjectCodec> to be registered.
- */
- register: function(codec)
- {
- if (codec != null)
- {
- var name = codec.getName();
- mxCodecRegistry.codecs[name] = codec;
-
- var classname = mxUtils.getFunctionName(codec.template.constructor);
-
- if (classname != name)
- {
- mxCodecRegistry.addAlias(classname, name);
- }
- }
-
- return codec;
- },
-
- /**
- * Function: addAlias
- *
- * Adds an alias for mapping a classname to a codecname.
- */
- addAlias: function(classname, codecname)
- {
- mxCodecRegistry.aliases[classname] = codecname;
- },
-
- /**
- * Function: getCodec
- *
- * Returns a codec that handles objects that are constructed
- * using the given constructor.
- *
- * Parameters:
- *
- * ctor - JavaScript constructor function.
- */
- getCodec: function(ctor)
- {
- var codec = null;
-
- if (ctor != null)
- {
- var name = mxUtils.getFunctionName(ctor);
- var tmp = mxCodecRegistry.aliases[name];
-
- if (tmp != null)
- {
- name = tmp;
- }
-
- codec = mxCodecRegistry.codecs[name];
-
- // Registers a new default codec for the given constructor
- // if no codec has been previously defined.
- if (codec == null)
- {
- try
- {
- codec = new mxObjectCodec(new ctor());
- mxCodecRegistry.register(codec);
- }
- catch (e)
- {
- // ignore
- }
- }
- }
-
- return codec;
- }
-
-};