import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;\r
import org.opendaylight.yangtools.sal.binding.model.api.Type;\r
import org.opendaylight.yangtools.yang.binding.Augmentable;\r
+import org.opendaylight.yangtools.yang.binding.Augmentation;\r
+import org.opendaylight.yangtools.yang.binding.DataObject;\r
\r
public final class BuilderGenerator implements CodeGenerator {\r
\r
// "rpc" and "grouping" elements do not implement Augmentable\r
if (t.getFullyQualifiedName().equals(Augmentable.class.getName())) {\r
return true;\r
+ } else if (t.getFullyQualifiedName().equals(Augmentation.class.getName())) {\r
+ return true;\r
}\r
+ \r
+ \r
}\r
}\r
return false;\r
def private generateBody() '''
public class «genType.name»«BUILDER» {
- «generateFields»
+ «generateFields(false)»
«generateSetters»
private class «genType.name»«IMPL» implements «genType.name» {
- «generateFields»
+ «generateFields(true)»
«generateConstructor»
}
'''
- def private generateFields() '''
+ def private generateFields(boolean _final) '''
«IF !fields.empty»
«FOR f : fields»
- private «f.returnType.resolveName» «f.name»;
+ private «IF _final»final«ENDIF» «f.returnType.resolveName» «f.name»;
«ENDFOR»
«ENDIF»
«IF augmentField != null»
<artifactId>maven-artifact</artifactId>
<version>2.0</version>
</dependency>
-
+<dependency>
+<groupId>org.slf4j</groupId>
+<artifactId>slf4j-simple</artifactId>
+<version>1.7.2</version>
+</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>yang-parser-impl</artifactId>
Integer getFractionDigits();
+ boolean isReferenceOnly();
+
}
private final SchemaPath path;
private final String description;
private final String reference;
-
+ private final boolean referenceOnly;
private final List<LengthConstraint> lengthStatements;
private final List<PatternConstraint> patterns;
private final List<RangeConstraint> rangeStatements;
private Status status = Status.CURRENT;
private String units = "";
private Object defaultValue = null;
+ private boolean referenceOnly = false;
public Builder(final QName name, final String description,
final String reference) {
public UnknownTypeDefinition build() {
return new UnknownType(this);
}
+
+ public void setReferenceOnly(boolean b) {
+ this.referenceOnly = b;
+
+ }
}
private UnknownType(Builder builder) {
+ this.referenceOnly = builder.referenceOnly;
this.name = builder.name;
this.path = builder.path;
this.description = builder.description;
return fractionDigits;
}
+ @Override
+ public boolean isReferenceOnly() {
+ return referenceOnly;
+ }
+
@Override
public int hashCode() {
final int prime = 31;
usnb.getLine());
for (ExtensionBuilder extension : dependentModule.getExtensions()) {
if (extension.getQName().getLocalName().equals(nodeType.getLocalName())) {
+ usnb.setNodeType(extension.getQName());
usnb.setExtensionBuilder(extension);
break;
}
usnb.getLine());
for (ExtensionDefinition e : dependentModule.getExtensionSchemaNodes()) {
if (e.getQName().getLocalName().equals(nodeType.getLocalName())) {
+ usnb.setNodeType(new QName(e.getQName().getNamespace(),e.getQName().getRevision() , nodeType.getPrefix(), e.getQName().getLocalName()));
usnb.setExtensionDefinition(e);
break;
}
return result;
}
+ } else {
+ unknownType.setReferenceOnly(true);
}
-
+
return unknownType.build();
}
UnknownSchemaNode un = unknownNodes.get(0);
QName unType = un.getNodeType();
- assertEquals(URI.create("urn:simple.demo.test3"), unType.getNamespace());
- assertEquals(simpleDateFormat.parse("2013-06-18"), unType.getRevision());
+ assertEquals(URI.create("urn:custom.types.demo"), unType.getNamespace());
+ assertEquals(simpleDateFormat.parse("2012-04-16"), unType.getRevision());
assertEquals("custom", unType.getPrefix());
assertEquals("mountpoint", unType.getLocalName());
assertEquals("point", un.getNodeParameter());