Cleaned up Java Binding code from YANG Tools
[mdsal.git] / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / yangtools / sal / java / api / generator / InterfaceTemplate.xtend
diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend
deleted file mode 100644 (file)
index acca70d..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.sal.java.api.generator
-
-import java.util.List
-import org.opendaylight.yangtools.binding.generator.util.TypeConstants
-import org.opendaylight.yangtools.sal.binding.model.api.Constant
-import org.opendaylight.yangtools.sal.binding.model.api.Enumeration
-import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject
-import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType
-import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature\rimport org.opendaylight.yangtools.sal.binding.model.api.AnnotationType
-
-/**
- * Template for generating JAVA interfaces.
- */
-class InterfaceTemplate extends BaseTemplate {
-
-    /**
-     * List of constant instances which are generated as JAVA public static final attributes.
-     */
-    val List<Constant> consts
-
-    /**
-     * List of method signatures which are generated as method declarations.
-     */
-    val List<MethodSignature> methods
-
-    /**
-     * List of enumeration which are generated as JAVA enum type.
-     */
-    val List<Enumeration> enums
-
-    /**
-     * List of generated types which are enclosed inside <code>genType</code>
-     */
-    val List<GeneratedType> enclosedGeneratedTypes
-
-    /**
-     * Creates the instance of this class which is used for generating the interface file source
-     * code from <code>genType</code>.
-     *
-     * @throws IllegalArgumentException if <code>genType</code> equals <code>null</code>
-     */
-    new(GeneratedType genType) {
-        super(genType)
-        if (genType == null) {
-            throw new IllegalArgumentException("Generated type reference cannot be NULL!")
-        }
-
-        consts = genType.constantDefinitions
-        methods = genType.methodDefinitions
-        enums = genType.enumerations
-        enclosedGeneratedTypes = genType.enclosedTypes
-    }
-
-    /**
-     * Template method which generate the whole body of the interface.
-     *
-     * @return string with code for interface body in JAVA format
-     */
-    override body() '''
-        «wrapToDocumentation(formatDataForJavaDoc(type))»
-        public interface «type.name»
-            «superInterfaces»
-        {
-
-            «generateInnerClasses»
-
-            «generateEnums»
-
-            «generateConstants»
-
-            «generateMethods»
-
-        }
-
-    '''
-
-
-    def private generateAnnotations(List<AnnotationType> annotations) '''
-        «IF annotations != null && !annotations.empty»
-            «FOR annotation : annotations»
-                @«annotation.importedName»
-                «IF annotation.parameters != null && !annotation.parameters.empty»
-                (
-                «FOR param : annotation.parameters SEPARATOR ","»
-                    «param.name»=«param.value»
-                «ENDFOR»
-                )
-                «ENDIF»
-            «ENDFOR»
-        «ENDIF»
-    '''
-
-    /**
-     * Template method which generates the interface name declaration.
-     *
-     * @return string with the code for the interface declaration in JAVA format
-     */
-    def private superInterfaces()
-    '''
-    «IF (!type.implements.empty)»
-         extends
-         «FOR type : type.implements SEPARATOR ","»
-             «type.importedName»
-         «ENDFOR»
-     « ENDIF»
-     '''
-
-    /**
-     * Template method which generates inner classes inside this interface.
-     *
-     * @return string with the source code for inner classes in JAVA format
-     */
-    def private generateInnerClasses() '''
-        «IF !enclosedGeneratedTypes.empty»
-            «FOR innerClass : enclosedGeneratedTypes SEPARATOR "\n"»
-                «IF (innerClass instanceof GeneratedTransferObject)»
-                    «IF innerClass.unionType»
-                        «val unionTemplate = new UnionTemplate(innerClass)»
-                        «unionTemplate.generateAsInnerClass»
-                        «this.importMap.putAll(unionTemplate.importMap)»
-                    «ELSE»
-                        «val classTemplate = new ClassTemplate(innerClass)»
-                        «classTemplate.generateAsInnerClass»
-                        «this.importMap.putAll(classTemplate.importMap)»
-                    «ENDIF»
-
-                «ENDIF»
-            «ENDFOR»
-        «ENDIF»
-    '''
-
-    /**
-     * Template method which generates JAVA enum type.
-     *
-     * @return string with inner enum source code in JAVA format
-     */
-    def private generateEnums() '''
-        «IF !enums.empty»
-            «FOR e : enums SEPARATOR "\n"»
-                «val enumTemplate = new EnumTemplate(e)»
-                «enumTemplate.generateAsInnerClass»
-            «ENDFOR»
-        «ENDIF»
-    '''
-
-    /**
-     * Template method wich generates JAVA constants.
-     *
-     * @return string with constants in JAVA format
-     */
-    def private generateConstants() '''
-        «IF !consts.empty»
-            «FOR c : consts»
-                «IF c.name != TypeConstants.PATTERN_CONSTANT_NAME»
-                    public static final «c.type.importedName» «c.name» = «c.value»;
-                «ENDIF»
-            «ENDFOR»
-        «ENDIF»
-    '''
-
-    /**
-     * Template method which generates the declaration of the methods.
-     *
-     * @return string with the declaration of methods source code in JAVA format
-     */
-    def private generateMethods() '''
-        «IF !methods.empty»
-            «FOR m : methods SEPARATOR "\n"»
-                «m.comment.asJavadoc»
-                «m.annotations.generateAnnotations»
-                «m.returnType.importedName» «m.name»(«m.parameters.generateParameters»);
-            «ENDFOR»
-        «ENDIF»
-    '''
-
-}
-