Merge "BUG-987: improve generated type allocation"
[yangtools.git] / code-generator / binding-generator-util / src / main / java / org / opendaylight / yangtools / binding / generator / util / generated / type / builder / GeneratedTypeBuilderImpl.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.yangtools.binding.generator.util.generated.type.builder;
9
10
11 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;
12 import org.opendaylight.yangtools.sal.binding.model.api.type.builder.GeneratedTypeBuilder;
13
14 public final class GeneratedTypeBuilderImpl extends AbstractGeneratedTypeBuilder<GeneratedTypeBuilder> implements GeneratedTypeBuilder {
15
16     public GeneratedTypeBuilderImpl(String packageName, String name) {
17         super(packageName, name);
18         setAbstract(true);
19     }
20
21     @Override
22     public GeneratedType toInstance() {
23         return new GeneratedTypeImpl(this);
24     }
25
26     @Override
27     public String toString() {
28         StringBuilder builder = new StringBuilder();
29         builder.append("GeneratedTransferObject [packageName=");
30         builder.append(getPackageName());
31         builder.append(", name=");
32         builder.append(getName());
33         builder.append(", comment=");
34         builder.append(getComment());
35         builder.append(", annotations=");
36         builder.append(getAnnotations());
37         builder.append(", implements=");
38         builder.append(getImplementsTypes());
39         builder.append(", enclosedTypes=");
40         builder.append(getEnclosedTypes());
41         builder.append(", constants=");
42         builder.append(getConstants());
43         builder.append(", enumerations=");
44         builder.append(getEnumerations());
45         builder.append(", properties=");
46         builder.append(", methods=");
47         builder.append(getMethodDefinitions());
48         builder.append("]");
49         return builder.toString();
50     }
51     
52     @Override
53     protected GeneratedTypeBuilderImpl thisInstance() {
54         return this;
55     }
56
57     private static final class GeneratedTypeImpl extends AbstractGeneratedType {
58
59         public GeneratedTypeImpl(GeneratedTypeBuilderImpl builder) {
60             super(builder);
61         }
62     }
63 }