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); } }