Message709

Author rt_landers
Recipients
Date 2002-08-27.13:39:14
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
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!
 
History
Date User Action Args
2008-02-20 17:17:08adminlinkissue600790 messages
2008-02-20 17:17:08admincreate