2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.binding.generator.util.generated.type.builder;
10 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;
11 import org.opendaylight.yangtools.sal.binding.model.api.Type;
12 import org.opendaylight.yangtools.sal.binding.model.api.type.builder.GeneratedTypeBuilder;
13 import org.opendaylight.yangtools.yang.common.QName;
15 public final class GeneratedTypeBuilderImpl extends AbstractGeneratedTypeBuilder<GeneratedTypeBuilder> implements
16 GeneratedTypeBuilder {
18 private String description;
19 private String reference;
20 private String moduleName;
21 private Iterable<QName> schemaPath;
22 private boolean isSuitableForBoxing;
23 private GeneratedTypeBuilder parentType;
25 public GeneratedTypeBuilderImpl(final String packageName, final String name) {
26 super(packageName, name);
31 public GeneratedType toInstance() {
32 return new GeneratedTypeImpl(this);
36 public void setDescription(String description) {
37 this.description = description;
41 public void setModuleName(String moduleName) {
42 this.moduleName = moduleName;
46 public void setSchemaPath(Iterable<QName> schemaPath) {
47 this.schemaPath = schemaPath;
51 public void setReference(String reference) {
52 this.reference = reference;
56 public void setSuitableForBoxing(boolean value) {
57 this.isSuitableForBoxing = value;
61 public void setParentType(GeneratedTypeBuilder parent) {
62 this.parentType = parent;
66 public Type getParent() {
67 return this.parentType;
71 public String toString() {
72 StringBuilder builder = new StringBuilder();
73 builder.append("GeneratedTransferObject [packageName=");
74 builder.append(getPackageName());
75 builder.append(", name=");
76 builder.append(getName());
77 builder.append(", comment=");
78 builder.append(getComment());
79 builder.append(", annotations=");
80 builder.append(getAnnotations());
81 builder.append(", implements=");
82 builder.append(getImplementsTypes());
83 builder.append(", enclosedTypes=");
84 builder.append(getEnclosedTypes());
85 builder.append(", constants=");
86 builder.append(getConstants());
87 builder.append(", enumerations=");
88 builder.append(getEnumerations());
89 builder.append(", properties=");
90 builder.append(", methods=");
91 builder.append(getMethodDefinitions());
93 return builder.toString();
97 protected GeneratedTypeBuilderImpl thisInstance() {
101 private static final class GeneratedTypeImpl extends AbstractGeneratedType {
103 private final String description;
104 private final String reference;
105 private final String moduleName;
106 private final Iterable<QName> schemaPath;
107 private final boolean isSuitableForBoxing;
108 private final GeneratedTypeBuilder parentType;
110 public GeneratedTypeImpl(GeneratedTypeBuilderImpl builder) {
113 this.description = builder.description;
114 this.reference = builder.reference;
115 this.moduleName = builder.moduleName;
116 this.schemaPath = builder.schemaPath;
117 this.isSuitableForBoxing = builder.isSuitableForBoxing;
118 this.parentType = builder.parentType;
122 public String getDescription() {
127 public String getReference() {
132 public Iterable<QName> getSchemaPath() {
137 public String getModuleName() {
142 public boolean isSuitableForBoxing() {
143 return isSuitableForBoxing;