Message709
When subclassing a java.util.List in Jython
and I want to override __setitem__ to accept either
a symbolic name or an integer index. However, when
I define the __setitem__ method in my Jython subtype, I
get a "TypeError: only integer keys accepted"
exception. It seems that since __setitem__ was defined
*automatically* for the List, my overriding method is
never being called...
--------
from java.lang import String
from java.util import ArrayList
class GoofyListMapThing (ArrayList):
def __init__(self):
self._elements = {}
def __setitem__(self, key, element):
print "GoofyListMapThing::__setitem__"
# Handle string key or int key here...
def __getitem__(self, key):
print "GoofyListMapThing::__getitem__"
# Handle string key or int key here...
glmt = GoofyListMapThing()
glmt["my-key"] = String("Element-1") # fails!
|
|
Date |
User |
Action |
Args |
2008-02-20 17:17:08 | admin | link | issue600790 messages |
2008-02-20 17:17:08 | admin | create | |
|