X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fcodegen%2Futil%2FJavassistUtils.xtend;h=802e7acb5bb993976a8a5d04a1c1776a6c8a67c8;hb=90e562e3dcc64e46a657ef4ab3047b2b709339c7;hp=19737b83c628caa531edb74d3fbb8bcc1531d2db;hpb=81a6e2e3fc28063a043ef14aabdd68d7ccab85b2;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/util/JavassistUtils.xtend b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/util/JavassistUtils.xtend index 19737b83c6..802e7acb5b 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/util/JavassistUtils.xtend +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/util/JavassistUtils.xtend @@ -10,10 +10,15 @@ import javassist.Modifier import javassist.NotFoundException import javassist.LoaderClassPath import javassist.ClassClassPath +import java.util.concurrent.locks.Lock +import java.util.concurrent.locks.ReentrantLock class JavassistUtils { ClassPool classPool + + @Property + val Lock lock = new ReentrantLock(); new(ClassPool pool) { classPool = pool; @@ -49,12 +54,14 @@ class JavassistUtils { } def CtClass createClass(String fqn, ClassGenerator cls) { + val target = classPool.makeClass(fqn); cls.process(target); return target; } def CtClass createClass(String fqn, CtClass superInterface, ClassGenerator cls) { + val target = classPool.makeClass(fqn); target.implementsType(superInterface); cls.process(target); @@ -76,6 +83,13 @@ class JavassistUtils { addField(field); return field; } + + def CtField staticField(CtClass it, String name, Class returnValue) { + val field = new CtField(returnValue.asCtClass, name, it); + field.modifiers = Modifier.PUBLIC + Modifier.STATIC + addField(field); + return field; + } def get(ClassPool pool, Class cls) { try {