Skip to content

Commit

Permalink
Remove unused Python ValueFactoryManager (#2451)
Browse files Browse the repository at this point in the history
  • Loading branch information
pepone authored Jul 11, 2024
1 parent ca39337 commit 32fc5cf
Showing 1 changed file with 0 additions and 47 deletions.
47 changes: 0 additions & 47 deletions python/python/Ice/ValueFactory.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"

0 comments on commit 32fc5cf

Please sign in to comment.