*/
package org.opendaylight.mdsal.binding.model.api;
-import org.opendaylight.yangtools.yang.common.QName;
-
/**
* Implementing this interface allows an object to hold information which are
* essential for generating java doc from type definition.
*/
public interface DocumentedType {
-
/**
* Returns a string that contains a human-readable textual description of
* type definition.
*/
String getReference();
- /**
- * Returns a list of QNames which represent schema path in schema tree from
- * actual concrete type to the root.
- *
- * @return a schema path in schema tree from actual concrete schema node
- * identifier to the root.
- */
- Iterable<QName> getSchemaPath();
-
/**
* Returns the name of the module, in which generated type was specified.
*
import org.opendaylight.mdsal.binding.model.api.Type;
import org.opendaylight.mdsal.binding.model.api.TypeComment;
import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public interface GeneratedTypeBuilderBase<T extends GeneratedTypeBuilderBase<T>> extends Type, AnnotableTypeBuilder {
/**
*/
void setModuleName(String moduleName);
- /**
- * Schema path in schema tree from actual concrete type to the root.
- *
- * @param schemaPath schema path in schema tree
- */
- void setSchemaPath(SchemaPath schemaPath);
-
/**
* Set a string that is used to specify a textual cross-reference to an external document, either another module
* that defines related management information, or a document that provides additional information relevant to this
import org.opendaylight.mdsal.binding.model.api.type.builder.EnumBuilder;
import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
import org.opendaylight.yangtools.util.LazyCollections;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
public abstract void setModuleName(String moduleName);
- public abstract void setSchemaPath(SchemaPath schemaPath);
-
public abstract void setYangSourceDefinition(YangSourceDefinition yangSourceDefinition);
abstract AbstractPair createEnumPair(String name, String mappedName, int value, Status status, String description,
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.TypeComment;
import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
public final class CodegenEnumerationBuilder extends AbstractEnumerationBuilder {
private String description;
private String reference;
private String moduleName;
- private SchemaPath schemaPath;
private YangSourceDefinition definition;
public CodegenEnumerationBuilder(final JavaTypeName identifier) {
this.moduleName = moduleName;
}
- @Override
- public void setSchemaPath(final SchemaPath schemaPath) {
- this.schemaPath = schemaPath;
- }
-
@Override
public void setDescription(final String description) {
this.description = description;
@Override
public void setYangSourceDefinition(final YangSourceDefinition yangSourceDefinition) {
- this.definition = yangSourceDefinition;
+ definition = yangSourceDefinition;
}
@Override
private final String description;
private final String reference;
private final String moduleName;
- private final SchemaPath schemaPath;
private final YangSourceDefinition definition;
EnumerationImpl(final CodegenEnumerationBuilder builder) {
super(builder);
description = builder.description;
moduleName = builder.moduleName;
- schemaPath = builder.schemaPath;
reference = builder.reference;
definition = builder.definition;
}
return reference;
}
- @Override
- public Iterable<QName> getSchemaPath() {
- return schemaPath.getPathFromRoot();
- }
-
@Override
public String getModuleName() {
return moduleName;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.Restrictions;
import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class CodegenGeneratedTOBuilder extends AbstractGeneratedTOBuilder {
private Restrictions restrictions;
private String reference;
private String description;
private String moduleName;
- private SchemaPath schemaPath;
public CodegenGeneratedTOBuilder(final JavaTypeName identifier) {
super(identifier);
@Override
public final void setSUID(final GeneratedPropertyBuilder newSuid) {
- this.suid = newSuid;
+ suid = newSuid;
}
@Override
this.moduleName = moduleName;
}
- @Override
- public final void setSchemaPath(final SchemaPath schemaPath) {
- this.schemaPath = schemaPath;
- }
-
@Override
public final void setReference(final String reference) {
this.reference = reference;
private final String reference;
private final String description;
private final String moduleName;
- private final SchemaPath schemaPath;
GTO(final CodegenGeneratedTOBuilder builder) {
super(builder);
- this.restrictions = builder.restrictions;
- this.reference = builder.reference;
- this.description = builder.description;
- this.moduleName = builder.moduleName;
- this.schemaPath = builder.schemaPath;
+ restrictions = builder.restrictions;
+ reference = builder.reference;
+ description = builder.description;
+ moduleName = builder.moduleName;
if (builder.suid == null) {
- this.suid = null;
+ suid = null;
} else {
- this.suid = builder.suid.toInstance();
+ suid = builder.suid.toInstance();
}
}
@Override
public Restrictions getRestrictions() {
- return this.restrictions;
+ return restrictions;
}
@Override
public GeneratedProperty getSUID() {
- return this.suid;
+ return suid;
}
@Override
public String getDescription() {
- return this.description;
+ return description;
}
@Override
public String getReference() {
- return this.reference;
- }
-
- @Override
- public Iterable<QName> getSchemaPath() {
- return this.schemaPath.getPathFromRoot();
+ return reference;
}
@Override
public String getModuleName() {
- return this.moduleName;
+ return moduleName;
}
}
}
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public final class CodegenGeneratedTypeBuilder extends AbstractGeneratedTypeBuilder<GeneratedTypeBuilder> implements
GeneratedTypeBuilder {
private String description;
private String reference;
private String moduleName;
- private SchemaPath schemaPath;
public CodegenGeneratedTypeBuilder(final JavaTypeName identifier) {
super(identifier);
this.moduleName = moduleName;
}
- @Override
- public void setSchemaPath(final SchemaPath schemaPath) {
- this.schemaPath = schemaPath;
- }
-
@Override
public void setReference(final String reference) {
this.reference = reference;
}
private static final class GeneratedTypeImpl extends AbstractGeneratedType {
-
private final String description;
private final String reference;
private final String moduleName;
- private final SchemaPath schemaPath;
GeneratedTypeImpl(final CodegenGeneratedTypeBuilder builder) {
super(builder);
- this.description = builder.description;
- this.reference = builder.reference;
- this.moduleName = builder.moduleName;
- this.schemaPath = builder.schemaPath;
+ description = builder.description;
+ reference = builder.reference;
+ moduleName = builder.moduleName;
}
@Override
public String getDescription() {
- return this.description;
+ return description;
}
@Override
public String getReference() {
- return this.reference;
- }
-
- @Override
- public Iterable<QName> getSchemaPath() {
- return this.schemaPath.getPathFromRoot();
+ return reference;
}
@Override
public String getModuleName() {
- return this.moduleName;
+ return moduleName;
}
}
}
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.TypeComment;
import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
public final class RuntimeEnumerationBuilder extends AbstractEnumerationBuilder {
// No-op
}
- @Override
- public void setSchemaPath(final SchemaPath schemaPath) {
- // No-op
- }
-
@Override
public void setDescription(final String description) {
// No-op
throw unsupported();
}
- @Override
- public Iterable<QName> getSchemaPath() {
- throw unsupported();
- }
-
@Override
public String getModuleName() {
throw unsupported();
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.Restrictions;
import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class RuntimeGeneratedTOBuilder extends AbstractGeneratedTOBuilder {
public RuntimeGeneratedTOBuilder(final JavaTypeName identifier) {
// No-op
}
- @Override
- public final void setSchemaPath(final SchemaPath schemaPath) {
- // No-op
- }
-
@Override
public final void setReference(final String reference) {
// No-op
throw unsupported();
}
- @Override
- public final Iterable<QName> getSchemaPath() {
- throw unsupported();
- }
-
@Override
public final String getModuleName() {
throw unsupported();
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public final class RuntimeGeneratedTypeBuilder extends AbstractGeneratedTypeBuilder<GeneratedTypeBuilder> implements
GeneratedTypeBuilder {
// No-op
}
- @Override
- public void setSchemaPath(final SchemaPath schemaPath) {
- // No-op
- }
-
@Override
public void setReference(final String reference) {
// No-op
throw unsupported();
}
- @Override
- public Iterable<QName> getSchemaPath() {
- throw unsupported();
- }
-
@Override
public String getModuleName() {
throw unsupported();
import org.opendaylight.mdsal.binding.model.api.Enumeration;
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
import org.opendaylight.yangtools.yang.model.ri.type.BaseTypes;
enumerationBuilder.setDescription(DESCRIPTION);
enumerationBuilder.setModuleName(moduleName);
enumerationBuilder.setReference(reference);
- enumerationBuilder.setSchemaPath(SchemaPath.create(true, qname));
enumerationBuilder.addValue(valueName, valueName, value, Status.CURRENT, valueDescription, null);
enumerationBuilder.addAnnotation(packageName, "TestAnnotation");
enumerationBuilderSame = new CodegenEnumerationBuilder(JavaTypeName.create(packageName, name));
assertEquals(moduleName, enumeration.getModuleName());
assertEquals(packageName + '.' + name, enumeration.getFullyQualifiedName());
assertEquals(reference, enumeration.getReference());
- assertEquals(List.of(qname), enumeration.getSchemaPath());
assertEquals(List.of(), enumeration.getEnclosedTypes());
assertEquals(List.of(), enumeration.getEnumerations());
assertEquals(List.of(), enumeration.getMethodDefinitions());
import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.Restrictions;
import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class GeneratedTOBuilderImplTest {
genTOBuilder.setDescription("test description");
genTOBuilder.setModuleName("test-module");
genTOBuilder.setReference("http://tools.ietf.org/html/rfc6020");
- genTOBuilder.setSchemaPath(SchemaPath.ROOT);
final GeneratedTransferObject genTO = genTOBuilder.build();
assertEquals("test description", genTO.getDescription());
assertEquals("test-module", genTO.getModuleName());
assertEquals("http://tools.ietf.org/html/rfc6020", genTO.getReference());
- assertEquals(SchemaPath.ROOT.getPathFromRoot(), genTO.getSchemaPath());
}
@Test
import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder;
import org.opendaylight.mdsal.binding.model.ri.Types;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
public class GeneratedTypeBuilderTest {
generatedTypeBuilder.setDescription("My description ...");
generatedTypeBuilder.setModuleName("myModuleName");
generatedTypeBuilder.setReference("myReference");
- generatedTypeBuilder.setSchemaPath(SchemaPath.create(true, QName.create("test", "path")));
assertNotNull(generatedTypeBuilder.addComment(() -> "My comment.."));
assertEquals("CodegenGeneratedTypeBuilder{identifier=my.package.MyName, comment=My comment.., constants=[], "
assertEquals("My description ...", instance.getDescription());
assertEquals("myModuleName", instance.getModuleName());
assertEquals("myReference", instance.getReference());
- assertEquals(SchemaPath.create(true, QName.create("test", "path")).getPathFromRoot(),
- instance.getSchemaPath());
assertEquals("My comment..", instance.getComment().getJavadoc());
}
}