PyLucene 3.4.0-1 import
[pylucene.git] / jcc / _jcc / java / lang / Boolean.cpp
1 /*
2  *   Licensed under the Apache License, Version 2.0 (the "License");
3  *   you may not use this file except in compliance with the License.
4  *   You may obtain a copy of the License at
5  *
6  *       http://www.apache.org/licenses/LICENSE-2.0
7  *
8  *   Unless required by applicable law or agreed to in writing, software
9  *   distributed under the License is distributed on an "AS IS" BASIS,
10  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  *   See the License for the specific language governing permissions and
12  *   limitations under the License.
13  */
14
15 #include <jni.h>
16 #include "JCCEnv.h"
17 #include "java/lang/Object.h"
18 #include "java/lang/Class.h"
19 #include "java/lang/Boolean.h"
20
21 namespace java {
22     namespace lang {
23
24         enum {
25             mid__init_,
26             mid_booleanValue,
27             max_mid
28         };
29
30         Class *Boolean::class$ = NULL;
31         jmethodID *Boolean::_mids = NULL;
32
33         Boolean *Boolean::TRUE = NULL;
34         Boolean *Boolean::FALSE = NULL;
35         
36         jclass Boolean::initializeClass()
37         {
38             if (!class$)
39             {
40                 jclass cls = env->findClass("java/lang/Boolean");
41
42                 _mids = new jmethodID[max_mid];
43                 _mids[mid__init_] = env->getMethodID(cls, "<init>", "(Z)V");
44                 _mids[mid_booleanValue] =
45                     env->getMethodID(cls, "booleanValue", "()Z");
46
47                 class$ = (Class *) new JObject(cls);
48
49                 FALSE = new Boolean(env->getStaticObjectField(cls, "FALSE", "Ljava/lang/Boolean;"));
50                 TRUE = new Boolean(env->getStaticObjectField(cls, "TRUE", "Ljava/lang/Boolean;"));
51             }
52
53             return (jclass) class$->this$;
54         }
55
56         Boolean::Boolean(jboolean b) : Object(env->newObject(initializeClass, &_mids, mid__init_, b)) {
57         }
58
59         int Boolean::booleanValue() const
60         {
61             return (int) env->callBooleanMethod(this$, _mids[mid_booleanValue]);
62         }
63     }
64 }
65
66
67 #include "structmember.h"
68 #include "functions.h"
69 #include "macros.h"
70
71 namespace java {
72     namespace lang {
73
74         static PyMethodDef t_Boolean__methods_[] = {
75             { NULL, NULL, 0, NULL }
76         };
77
78         DECLARE_TYPE(Boolean, t_Boolean, Object, java::lang::Boolean,
79                      abstract_init, 0, 0, 0, 0, 0);
80     }
81 }