package org.python.core; public class PyProperty extends PyObject implements PyType.Newstyle { //~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py /* type info */ public static final String exposed_name="property"; public static void typeSetup(PyObject dict,PyType.Newstyle marker) { dict.__setitem__("fget",new PyGetSetDescr("fget",PyProperty.class,"getFget","setFget",null)); dict.__setitem__("fset",new PyGetSetDescr("fset",PyProperty.class,"getFset","setFset",null)); dict.__setitem__("fdel",new PyGetSetDescr("fdel",PyProperty.class,"getFdel","setFdel",null)); dict.__setitem__("__doc__",new PyGetSetDescr("__doc__",PyProperty.class,"getDoc","setDoc",null)); class exposed___get__ extends PyBuiltinMethodNarrow { exposed___get__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___get__(self,info); } public PyObject __call__(PyObject arg0,PyObject arg1) { PyObject obj=(arg0==Py.None)?null:arg0; PyObject type=(arg1==null)?obj:arg1; return((PyProperty)self).property___get__(obj,type); } public PyObject __call__(PyObject arg0) { PyObject obj=(arg0==Py.None)?null:arg0; PyObject type=((null)==null)?obj:(null); return((PyProperty)self).property___get__(obj,type); } } dict.__setitem__("__get__",new PyMethodDescr("__get__",PyProperty.class,1,2,new exposed___get__(null,null))); class exposed___set__ extends PyBuiltinMethodNarrow { exposed___set__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___set__(self,info); } public PyObject __call__(PyObject arg0,PyObject arg1) { ((PyProperty)self).property___set__(arg0,arg1); return Py.None; } } dict.__setitem__("__set__",new PyMethodDescr("__set__",PyProperty.class,2,2,new exposed___set__(null,null))); class exposed___delete__ extends PyBuiltinMethodNarrow { exposed___delete__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___delete__(self,info); } public PyObject __call__(PyObject arg0) { ((PyProperty)self).property___delete__(arg0); return Py.None; } } dict.__setitem__("__delete__",new PyMethodDescr("__delete__",PyProperty.class,1,1,new exposed___delete__(null,null))); class exposed___init__ extends PyBuiltinMethod { exposed___init__(PyObject self,PyBuiltinFunction.Info info) { super(self,info); } public PyBuiltinFunction bind(PyObject self) { return new exposed___init__(self,info); } public PyObject __call__(PyObject[]args) { return __call__(args,Py.NoKeywords); } public PyObject __call__(PyObject[]args,String[]keywords) { ((PyProperty)self).property_init(args,keywords); return Py.None; } } dict.__setitem__("__init__",new PyMethodDescr("__init__",PyProperty.class,-1,-1,new exposed___init__(null,null))); dict.__setitem__("__new__",new PyNewWrapper(PyProperty.class,"__new__",-1,-1) { public PyObject new_impl(boolean init,PyType subtype,PyObject[]args,String[]keywords) { PyProperty newobj; if (for_type==subtype) { newobj=new PyProperty(); if (init) newobj.property_init(args,keywords); } else { newobj=new PyPropertyDerived(subtype); } return newobj; } }); } //~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py private static final PyType PROPERTYTYPE = PyType.fromClass(PyProperty.class); protected PyObject fget; protected PyObject fset; protected PyObject fdel; protected PyObject doc; public PyProperty() { this(PROPERTYTYPE); } public PyProperty(PyType subType) { super(subType); } public PyObject getDoc() { return doc; } public PyObject getFdel() { return fdel; } public PyObject getFset() { return fset; } public PyObject getFget() { return fget; } // These methods are to conform to test_descr.py // However I believe that this should be fixed through // PyGetSetDescr.java instead // Carlos Quiroz: 19.11.2005 public void setFget(PyObject py) { throw Py.TypeError("readonly attribute"); } public void setFset(PyObject py) { throw Py.TypeError("readonly attribute"); } public void setFdel(PyObject py) { throw Py.TypeError("readonly attribute"); } public void setDoc(PyObject py) { throw Py.TypeError("readonly attribute"); } public void property_init(PyObject[] args, String[] keywords) { ArgParser argparse = new ArgParser("property",args, keywords, new String[] {"fget","fset","fdel","doc"}, 0); fget = argparse.getPyObject(0, null); fget = fget==Py.None?null:fget; fset = argparse.getPyObject(1, null); fset = fset==Py.None?null:fset; fdel = argparse.getPyObject(2, null); fdel = fdel==Py.None?null:fdel; doc = argparse.getPyObject(3, null); } public PyObject __call__(PyObject arg1, PyObject args[], String keywords[]) { return fget.__call__(arg1); } public PyObject __get__(PyObject obj, PyObject type) { return property___get__(obj,type); } final PyObject property___get__(PyObject obj, PyObject type) { if (obj == null || null == Py.None) return this; if (fget == null) throw Py.AttributeError("unreadable attribute"); return fget.__call__(obj); } public void __set__(PyObject obj, PyObject value) { property___set__(obj,value); } final void property___set__(PyObject obj, PyObject value) { if (fset == null) throw Py.AttributeError("can't set attribute"); fset.__call__(obj, value); } public void __delete__(PyObject obj) { property___delete__(obj); } final void property___delete__(PyObject obj) { if (fdel == null) throw Py.AttributeError("can't delete attribute"); fdel.__call__(obj); } }