import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionAwareBuilder;
import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder;
-public final class RpcDefinitionBuilder implements SchemaNodeBuilder,
- TypeDefinitionAwareBuilder {
+public final class RpcDefinitionBuilder implements SchemaNodeBuilder, TypeDefinitionAwareBuilder {
private boolean isBuilt;
private final RpcDefinitionImpl instance;
private final int line;
private final QName qname;
private SchemaPath schemaPath;
+ private String description;
+ private String reference;
+ private Status status = Status.CURRENT;
private ContainerSchemaNodeBuilder inputBuilder;
private ContainerSchemaNodeBuilder outputBuilder;
private final Set<TypeDefinitionBuilder> addedTypedefs = new HashSet<TypeDefinitionBuilder>();
@Override
public RpcDefinition build() {
if (!isBuilt) {
- final ContainerSchemaNode input = inputBuilder.build();
- final ContainerSchemaNode output = outputBuilder.build();
+ instance.setDescription(description);
+ instance.setReference(reference);
+ instance.setStatus(status);
+
+ final ContainerSchemaNode input = inputBuilder == null ? null : inputBuilder.build();
+ final ContainerSchemaNode output = outputBuilder == null ? null : outputBuilder.build();
instance.setInput(input);
instance.setOutput(output);
this.schemaPath = schemaPath;
}
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
@Override
public void setDescription(final String description) {
- instance.setDescription(description);
+ this.description = description;
+ }
+
+ @Override
+ public String getReference() {
+ return reference;
+ }
+
+ @Override
+ public void setReference(String reference) {
+ this.reference = reference;
}
@Override
- public void setReference(final String reference) {
- instance.setReference(reference);
+ public Status getStatus() {
+ return status;
}
@Override
public void setStatus(final Status status) {
- instance.setStatus(status);
+ if (status != null) {
+ this.status = status;
+ }
}
@Override
@Override
public int hashCode() {
- return qname.hashCode();
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((qname == null) ? 0 : qname.hashCode());
+ result = prime * result + ((schemaPath == null) ? 0 : schemaPath.hashCode());
+ return result;
}
@Override
} else if (!other.qname.equals(this.qname)) {
return false;
}
+ if (other.schemaPath == null) {
+ if (this.schemaPath != null) {
+ return false;
+ }
+ } else if (!other.schemaPath.equals(this.schemaPath)) {
+ return false;
+ }
return true;
}
@Override
public String toString() {
- StringBuilder sb = new StringBuilder(
- RpcDefinitionImpl.class.getSimpleName() + "[");
+ StringBuilder sb = new StringBuilder(RpcDefinitionImpl.class.getSimpleName() + "[");
sb.append("qname=" + qname);
sb.append(", path=" + path);
sb.append(", input=" + input);