Remove parent type references
[mdsal.git] / binding / mdsal-binding-generator-util / src / main / java / org / opendaylight / mdsal / binding / model / util / generated / type / builder / GeneratedPropertyBuilderImpl.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.mdsal.binding.model.util.generated.type.builder;
9
10 import java.util.List;
11 import org.opendaylight.mdsal.binding.model.api.AnnotationType;
12 import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
13 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
14
15 public final class GeneratedPropertyBuilderImpl extends AbstractTypeMemberBuilder<GeneratedPropertyBuilder>
16         implements GeneratedPropertyBuilder {
17     private String value;
18     private boolean readOnly;
19
20     public GeneratedPropertyBuilderImpl(final String name) {
21         super(name);
22         this.readOnly = true;
23     }
24
25     @Override
26     public GeneratedPropertyBuilderImpl setValue(final String value) {
27         this.value = value;
28         return this;
29     }
30
31     @Override
32     public GeneratedPropertyBuilderImpl setReadOnly(final boolean isReadOnly) {
33         this.readOnly = isReadOnly;
34         return this;
35     }
36
37     @Override
38     protected GeneratedPropertyBuilderImpl thisInstance() {
39         return this;
40     }
41
42     @Override
43     public GeneratedProperty toInstance() {
44         final List<AnnotationType> annotations = toAnnotationTypes();
45         return new GeneratedPropertyImpl(getName(), annotations, getComment(), getAccessModifier(), getReturnType(),
46             isFinal(), isStatic(), this.readOnly, this.value);
47     }
48
49     @Override
50     public String toString() {
51         return new StringBuilder()
52             .append("GeneratedPropertyImpl [name=").append(getName())
53             .append(", annotations=").append(getAnnotationBuilders())
54             .append(", comment=").append(getComment())
55             .append(", returnType=").append(getReturnType())
56             .append(", isFinal=").append(isFinal())
57             .append(", isReadOnly=").append(this.readOnly)
58             .append(", modifier=").append(getAccessModifier())
59             .append(']').toString();
60     }
61 }