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.
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 = ''
15 def LoadJavaClass(self, clazz):
16 return self._class_loader.LoadJavaClass(clazz)
18 def IsInternalClass(self, clazz):
19 return self._class_loader.IsInternalClass(clazz)
24 def GetGeneratedCode(self):
25 return self._generated_code
27 def GetGeneratedClassFileName(self):
28 return self._generated_class_name + '.java'
30 def GenerateImportRules(self):
32 for imported in self._java_data.imports:
33 import_string = 'import ' + imported + ";\n"
34 imports += import_string
35 # Add the reflection helper import.
37 imports += 'import java.lang.reflect.Constructor;\n'
38 imports += 'import java.lang.reflect.Method;\n'