PyLucene 3.4.0-1 import
[pylucene.git] / jcc / _jcc / java / lang / reflect / ParameterizedType.cpp
1 #ifdef _java_generics
2
3 #include <jni.h>
4 #include "JCCEnv.h"
5 #include "java/lang/reflect/ParameterizedType.h"
6 #include "java/lang/Class.h"
7 #include "JArray.h"
8
9 namespace java {
10     namespace lang {
11         namespace reflect {
12
13             java::lang::Class *ParameterizedType::class$ = NULL;
14             jmethodID *ParameterizedType::mids$ = NULL;
15
16             jclass ParameterizedType::initializeClass()
17             {
18                 if (!class$)
19                 {
20
21                     jclass cls = (jclass) env->findClass("java/lang/reflect/ParameterizedType");
22
23                     mids$ = new jmethodID[max_mid];
24                     mids$[mid_getActualTypeArguments_6f565a00] = env->getMethodID(cls, "getActualTypeArguments", "()[Ljava/lang/reflect/Type;");
25                     mids$[mid_getOwnerType_86037cf0] = env->getMethodID(cls, "getOwnerType", "()Ljava/lang/reflect/Type;");
26                     mids$[mid_getRawType_86037cf0] = env->getMethodID(cls, "getRawType", "()Ljava/lang/reflect/Type;");
27
28                     class$ = (java::lang::Class *) new JObject(cls);
29                 }
30                 return (jclass) class$->this$;
31             }
32
33             JArray<java::lang::reflect::Type> ParameterizedType::getActualTypeArguments() const
34             {
35                 return JArray<java::lang::reflect::Type>(env->callObjectMethod(this$, mids$[mid_getActualTypeArguments_6f565a00]));
36             }
37
38             java::lang::reflect::Type ParameterizedType::getOwnerType() const
39             {
40                 return java::lang::reflect::Type(env->callObjectMethod(this$, mids$[mid_getOwnerType_86037cf0]));
41             }
42
43             java::lang::reflect::Type ParameterizedType::getRawType() const
44             {
45                 return java::lang::reflect::Type(env->callObjectMethod(this$, mids$[mid_getRawType_86037cf0]));
46             }
47         }
48     }
49 }
50
51 #include "structmember.h"
52 #include "functions.h"
53 #include "macros.h"
54
55 namespace java {
56     namespace lang {
57         namespace reflect {
58             static PyObject *t_ParameterizedType_cast_(PyTypeObject *type, PyObject *arg);
59             static PyObject *t_ParameterizedType_instance_(PyTypeObject *type, PyObject *arg);
60             static PyObject *t_ParameterizedType_getActualTypeArguments(t_ParameterizedType *self);
61             static PyObject *t_ParameterizedType_getOwnerType(t_ParameterizedType *self);
62             static PyObject *t_ParameterizedType_getRawType(t_ParameterizedType *self);
63
64             static PyMethodDef t_ParameterizedType__methods_[] = {
65                 DECLARE_METHOD(t_ParameterizedType, cast_, METH_O | METH_CLASS),
66                 DECLARE_METHOD(t_ParameterizedType, instance_, METH_O | METH_CLASS),
67                 DECLARE_METHOD(t_ParameterizedType, getActualTypeArguments, METH_NOARGS),
68                 DECLARE_METHOD(t_ParameterizedType, getOwnerType, METH_NOARGS),
69                 DECLARE_METHOD(t_ParameterizedType, getRawType, METH_NOARGS),
70                 { NULL, NULL, 0, NULL }
71             };
72
73             DECLARE_TYPE(ParameterizedType, t_ParameterizedType, java::lang::reflect::Type, ParameterizedType, abstract_init, 0, 0, 0, 0, 0);
74
75             static PyObject *t_ParameterizedType_cast_(PyTypeObject *type, PyObject *arg)
76             {
77                 if (!(arg = castCheck(arg, ParameterizedType::initializeClass, 1)))
78                     return NULL;
79                 return t_ParameterizedType::wrap_Object(ParameterizedType(((t_ParameterizedType *) arg)->object.this$));
80             }
81             static PyObject *t_ParameterizedType_instance_(PyTypeObject *type, PyObject *arg)
82             {
83                 if (!castCheck(arg, ParameterizedType::initializeClass, 0))
84                     Py_RETURN_FALSE;
85                 Py_RETURN_TRUE;
86             }
87
88             static PyObject *t_ParameterizedType_getActualTypeArguments(t_ParameterizedType *self)
89             {
90                 JArray<java::lang::reflect::Type> result((jobject) NULL);
91                 OBJ_CALL(result = self->object.getActualTypeArguments());
92
93                 return result.toSequence(t_Type::wrap_Object);
94             }
95
96             static PyObject *t_ParameterizedType_getOwnerType(t_ParameterizedType *self)
97             {
98                 java::lang::reflect::Type result((jobject) NULL);
99                 OBJ_CALL(result = self->object.getOwnerType());
100                 return java::lang::reflect::t_Type::wrap_Object(result);
101             }
102
103             static PyObject *t_ParameterizedType_getRawType(t_ParameterizedType *self)
104             {
105                 java::lang::reflect::Type result((jobject) NULL);
106                 OBJ_CALL(result = self->object.getRawType());
107                 return java::lang::reflect::t_Type::wrap_Object(result);
108             }
109         }
110     }
111 }
112
113 #endif /* _java_generics */