Fix checkstyle warnings in yang-jmx-generator-plugin
[controller.git] / opendaylight / config / yang-jmx-generator-plugin / src / main / java / org / opendaylight / controller / config / yangjmxgenerator / plugin / ftl / AbstractFtlTemplate.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl;
9
10 import com.google.common.base.Optional;
11 import com.google.common.collect.Lists;
12 import java.util.Collections;
13 import java.util.List;
14 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Annotation;
15 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Constructor;
16 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Field;
17 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Header;
18 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.Method;
19 import org.opendaylight.controller.config.yangjmxgenerator.plugin.ftl.model.TypeDeclaration;
20 import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.FullyQualifiedNameHelper;
21
22 public abstract class AbstractFtlTemplate implements FtlTemplate {
23     private final String packageName;
24     private final List<Field> fields;
25     private final List<Annotation> annotations;
26     private final List<? extends Method> methods;
27     private String javadoc = null;
28     private final TypeDeclaration typeDeclaration;
29     private final Header header;
30
31     protected AbstractFtlTemplate(Header header, String packageName,
32             List<Field> fields, List<? extends Method> methods,
33             TypeDeclaration typeDeclaration) {
34         this.packageName = packageName;
35         this.fields = fields;
36         this.methods = methods;
37         this.annotations = Lists.newArrayList();
38         this.typeDeclaration = typeDeclaration;
39         this.header = header;
40     }
41
42     @Override
43     public Header getHeader() {
44         return header;
45     }
46
47     @Override
48     public Optional<String> getHeaderString() {
49         if (header == null) {
50             return Optional.absent();
51         } else {
52             return Optional.of(header.toString());
53         }
54     }
55
56     @Override
57     public String getFullyQualifiedName() {
58         return FullyQualifiedNameHelper.getFullyQualifiedName(getPackageName(),
59                 getTypeDeclaration().getName());
60     }
61
62     @Override
63     public String getPackageName() {
64         return packageName;
65     }
66
67     @Override
68     public TypeDeclaration getTypeDeclaration() {
69         return typeDeclaration;
70     }
71
72
73     @Override
74     public Optional<String> getMaybeJavadoc() {
75         if (javadoc == null) {
76             return Optional.absent();
77         } else {
78             return Optional.of(javadoc);
79         }
80     }
81
82     public void setJavadoc(String javadoc) {
83         this.javadoc = javadoc;
84     }
85
86     @Override
87     public List<Annotation> getAnnotations() {
88         return annotations;
89     }
90
91     @Override
92     public List<Field> getFields() {
93         return fields;
94     }
95
96     @Override
97     public List<? extends Method> getMethods() {
98         return methods;
99     }
100
101
102     @Override
103     public List<Constructor> getConstructors() {
104         return Collections.emptyList();
105     }
106
107     @Override
108     public String toString() {
109         return "AbstractFtlTemplate{" + "typeDeclaration=" + typeDeclaration
110                 + ", packageName='" + packageName + '\'' + '}';
111     }
112 }