diff --git a/python/python/Ice/ValueFactory.py b/python/python/Ice/ValueFactory.py index 922b80ca6a3..69a986df09a 100644 --- a/python/python/Ice/ValueFactory.py +++ b/python/python/Ice/ValueFactory.py @@ -25,50 +25,3 @@ def create(self, typeId): def __str__(self): return "::Ice::ValueFactory" - - -class ValueFactoryManager(object): - """ - A value factory manager maintains a collection of value factories. An application can supply a custom - implementation during communicator initialization, otherwise Ice provides a default implementation. - """ - - def __init__(self): - if type(self) == ValueFactoryManager: - raise RuntimeError("Ice.ValueFactoryManager is an abstract class") - - def add(self, factory, id): - """ - Add a value factory. Attempting to add a factory with an id for which a factory is already registered throws - AlreadyRegisteredException. - When unmarshaling an Ice value, the Ice run time reads the most-derived type id off the wire and attempts to - create an instance of the type using a factory. If no instance is created, either because no factory was found, - or because all factories returned nil, the behavior of the Ice run time depends on the format with which the - value was marshaled: - If the value uses the "sliced" format, Ice ascends the class hierarchy until it finds a type that is recognized - by a factory, or it reaches the least-derived type. If no factory is found that can create an instance, the run - time throws NoValueFactoryException. - If the value uses the "compact" format, Ice immediately raises NoValueFactoryException. - The following order is used to locate a factory for a type: - The Ice run-time looks for a factory registered specifically for the type. - If no instance has been created, the Ice run-time looks for the default factory, which is registered with - an empty type id. - If no instance has been created by any of the preceding steps, the Ice run-time looks for a factory that - may have been statically generated by the language mapping for non-abstract classes. - Arguments: - factory -- The factory to add. - id -- The type id for which the factory can create instances, or an empty string for the default factory. - """ - raise NotImplementedError("method 'add' not implemented") - - def find(self, id): - """ - Find an value factory registered with this communicator. - Arguments: - id -- The type id for which the factory can create instances, or an empty string for the default factory. - Returns: The value factory, or null if no value factory was found for the given id. - """ - raise NotImplementedError("method 'find' not implemented") - - def __str__(self): - return "::Ice::ValueFactoryManager"