This file is indexed.

/usr/share/pyshared/jpype/_jwrapper.py is in python-jpype 0.5.4.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#*****************************************************************************
#   Copyright 2004-2008 Steve Menard
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
#   
#*****************************************************************************

import _jpype
import _jclass

def _initialize() :
    _jpype.setWrapperClass(_JWrapper)
    _jpype.setStringWrapperClass(JString)

class _JWrapper(object) :
    def __init__(self, v) :
        if v is not None :
            self._value = _jpype.convertToJValue(self.typeName, v)
        else:
            self._value = None
            
    
class JByte(_JWrapper) :
    typeName = "byte"
    
class JInt(_JWrapper) :
    typeName = "int"

class JLong(_JWrapper) :
    typeName = "long"

class JFloat(_JWrapper) :
    typeName = "float"

class JDouble(_JWrapper) :
    typeName = "double"

class JChar(_JWrapper) :
    typeName = "char"

class JBoolean(_JWrapper) :
    typeName = "boolean"

class JString(_JWrapper) :
    typeName = "java.lang.String"
    
def _getDefaultTypeName(obj) :
    if obj is True or obj is False :
        return 'java.lang.Boolean'
        
    if isinstance(obj, str) or isinstance(obj, unicode) :
        return "java.lang.String"

    if isinstance(obj, int) :
        return "java.lang.Integer"
        
    if isinstance(obj, long) :
        return "java.lang.Long"
        
    if isinstance(obj, float) :
        return "java.lang.Double"

    if isinstance(obj, _jclass._JavaClass) :
        return obj.__javaclassname__
        
    if isinstance(obj, _jclass.java.lang.Class) :
        return obj.__class__.__javaclass__.getName()

    if instance(obj, _JWrapper) :
        return obj.typeName


    raise RuntimeException, "Unable to determine the default type of "+obj.__class__

class JObject(_JWrapper) :
    def __init__(self, v, tp = None) :
        if tp is None :
            tp = _getDefaultTypeName(v)
        if isinstance(tp, _jclass._JavaClass) :
            tp = tp.__javaclass__.getName()
            
        self.typeName = tp
        self._value = _jpype.convertToJValue(tp, v)