def protected emitConstant(Constant c) '''
«IF BindingMapping.QNAME_STATIC_FIELD_NAME.equals(c.name)»
«val entry = c.value as Entry<JavaTypeName, String>»
- public static final «c.type.importedName» «c.name» = «entry.key.importedName».«BindingMapping.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»");
+ public static final «c.type.importedNonNull» «c.name» = «entry.key.importedName».«BindingMapping.MODULE_INFO_QNAMEOF_METHOD_NAME»("«entry.value»");
«ELSE»
public static final «c.type.importedName» «c.name» = «c.value»;
«ENDIF»
import org.opendaylight.mdsal.binding.model.api.Constant
import org.opendaylight.mdsal.binding.model.api.Enumeration
import org.opendaylight.mdsal.binding.model.api.GeneratedType
-import org.opendaylight.mdsal.binding.model.api.JavaTypeName
import org.opendaylight.mdsal.binding.model.api.MethodSignature
import org.opendaylight.mdsal.binding.model.api.Type
import org.opendaylight.mdsal.binding.model.util.TypeConstants
* Template for generating JAVA interfaces.
*/
class InterfaceTemplate extends BaseTemplate {
- static val JavaTypeName NONNULL = JavaTypeName.create("org.eclipse.jdt.annotation", "NonNull")
- static val JavaTypeName NULLABLE = JavaTypeName.create("org.eclipse.jdt.annotation", "Nullable")
-
/**
* List of constant instances which are generated as JAVA public static final attributes.
*/
«val name = method.name»
«formatDataForJavaDoc(method, "@return " + asCode(ret.fullyQualifiedName) + " " + asCode(propertyNameFromGetter(method)) + ", or an empty list if it is not present")»
«method.annotations.generateAnnotations»
- default «ret.importedName(NONNULL.importedName)» «name»() {
+ default «ret.importedNonNull» «name»() {
return «CodeHelpers.importedName».nonnull(«getGetterMethodForNonnull(name)»());
}
'''
def private String nullableType(Type type) {
if (type.isObject) {
- return type.importedName(NULLABLE.importedName)
+ return type.importedNullable
}
return type.importedName
}
* Base Java file template. Contains a non-null type and imports which the generated code refers to.
*/
class JavaFileTemplate {
+ static final JavaTypeName NONNULL = JavaTypeName.create("org.eclipse.jdt.annotation", "NonNull");
+ static final JavaTypeName NULLABLE = JavaTypeName.create("org.eclipse.jdt.annotation", "Nullable");
+
private final AbstractJavaGeneratedType javaType;
private final GeneratedType type;
return javaType.getReferenceString(intype);
}
+ final String importedNonNull(final Type intype) {
+ return importedName(intype, importedName(NONNULL));
+ }
+
+ final String importedNullable(final Type intype) {
+ return importedName(intype, importedName(NULLABLE));
+ }
+
final void addImport(final Class<?> cls) {
javaType.getReferenceString(JavaTypeName.create(cls));
}