Upstream version 9.37.195.0
[platform/framework/web/crosswalk.git] / src / xwalk / tools / reflection_generator / code_generator.py
1 #!/usr/bin/env python
2
3 # Copyright (c) 2014 Intel Corporation. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 class CodeGenerator(object):
8   """Basic class of code generator"""
9   def __init__(self, java_data, class_loader):
10     self._java_data = java_data
11     self._class_loader = class_loader
12     self._generated_code = ''
13     self._generated_class_name = ''
14
15   def LoadJavaClass(self, clazz):
16     return self._class_loader.LoadJavaClass(clazz)
17
18   def IsInternalClass(self, clazz):
19     return self._class_loader.IsInternalClass(clazz)
20
21   def RunTask(self):
22     pass
23
24   def GetGeneratedCode(self):
25     return self._generated_code
26
27   def GetGeneratedClassFileName(self):
28     return self._generated_class_name + '.java'
29
30   def GenerateImportRules(self):
31     imports = ''
32     for imported in self._java_data.imports:
33       import_string = 'import ' + imported + ";\n"
34       imports += import_string
35     # Add the reflection helper import.
36     imports += '\n'
37     imports += 'import java.lang.reflect.Constructor;\n'
38     imports += 'import java.lang.reflect.Method;\n'
39     return imports