New submission from Jim Baker <zyasoft@...>:
Workaround as discussed in my email on jython-users:
from java.util import LinkedHashMap
def monkeypatch_method_if_not_set(cls):
def decorator(func):
if not hasattr(cls, func.__name__):
setattr(cls, func.__name__, func)
return func
return decorator
@monkeypatch_method_if_not_set(LinkedHashMap)
def iteritems(self):
return ((entry.getKey(), entry.getValue()) for entry in self.entrySet())
# equivalent functionality - we will do a similar type of guard
try:
LinkedHashMap.update
except AttributeError:
LinkedHashMap.update = LinkedHashMap.putAll
LinkedHashMap.iterkeys = LinkedHashMap.keySet
LinkedHashMap.itervalues = LinkedHashMap.values
# etc
Implement something like this directly in the proxy generation.
----------
assignee: zyasoft
messages: 5885
nosy: zyasoft
priority: normal
severity: normal
status: open
title: java.util.Map derived classes lack iterXXX methods
versions: 2.5.1
_______________________________________
Jython tracker <report@...>
<http://bugs.jython.org/issue1631>
_______________________________________
|