X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fgenerator%2Fimpl%2Freactor%2FGenerator.java;h=23690d1603009ba56e43d207f7048bfbe153273d;hb=4c2b08900d7a4a06bf99698801f339c8bf22e07c;hp=99580eddbb6be3a64ca67088059ff21b259c7291;hpb=51e77ede7295527329c81c7abf2cb71e637fd1a7;p=mdsal.git diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java index 99580eddbb..23690d1603 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java @@ -23,27 +23,22 @@ import java.util.List; import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.mdsal.binding.generator.BindingGeneratorUtil; import org.opendaylight.mdsal.binding.generator.impl.reactor.CollisionDomain.Member; import org.opendaylight.mdsal.binding.model.api.AccessModifier; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.model.api.Type; -import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition; import org.opendaylight.mdsal.binding.model.api.type.builder.AnnotableTypeBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder; -import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder; import org.opendaylight.mdsal.binding.model.ri.BindingTypes; import org.opendaylight.mdsal.binding.model.ri.Types; import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.GeneratedPropertyBuilderImpl; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.DataContainer; -import org.opendaylight.yangtools.yang.model.api.DocumentedNode; import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus; -import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.ri.type.TypeBuilder; @@ -65,7 +60,7 @@ public abstract class Generator implements Iterable { private static final JavaTypeName DEPRECATED_ANNOTATION = JavaTypeName.create(Deprecated.class); static final JavaTypeName OVERRIDE_ANNOTATION = JavaTypeName.create(Override.class); - private final AbstractCompositeGenerator parent; + private final AbstractCompositeGenerator parent; private Optional member; private GeneratorResult result; @@ -76,7 +71,7 @@ public abstract class Generator implements Iterable { parent = null; } - Generator(final AbstractCompositeGenerator parent) { + Generator(final AbstractCompositeGenerator parent) { this.parent = requireNonNull(parent); } @@ -99,7 +94,7 @@ public abstract class Generator implements Iterable { * * @return Parent generator */ - final @NonNull AbstractCompositeGenerator getParent() { + final @NonNull AbstractCompositeGenerator getParent() { return verifyNotNull(parent, "No parent for %s", this); } @@ -244,7 +239,7 @@ public abstract class Generator implements Iterable { return JavaTypeName.create(getPackageParent().javaPackage(), assignedName()); } - @NonNull AbstractCompositeGenerator getPackageParent() { + @NonNull AbstractCompositeGenerator getPackageParent() { return getParent(); } @@ -258,7 +253,7 @@ public abstract class Generator implements Iterable { } final void addImplementsChildOf(final GeneratedTypeBuilder builder) { - AbstractCompositeGenerator ancestor = getParent(); + AbstractCompositeGenerator ancestor = getParent(); while (true) { // choice/case hierarchy does not factor into 'ChildOf' hierarchy, hence we need to skip them if (ancestor instanceof CaseGenerator || ancestor instanceof ChoiceGenerator) { @@ -268,7 +263,7 @@ public abstract class Generator implements Iterable { // if we into a choice we need to follow the hierararchy of that choice if (ancestor instanceof AbstractAugmentGenerator) { - final AbstractCompositeGenerator target = ((AbstractAugmentGenerator) ancestor).targetGenerator(); + final AbstractCompositeGenerator target = ((AbstractAugmentGenerator) ancestor).targetGenerator(); if (target instanceof ChoiceGenerator) { ancestor = target; continue; @@ -328,31 +323,6 @@ public abstract class Generator implements Iterable { } } - static final void addCodegenInformation(final EffectiveStatement stmt, - final GeneratedTypeBuilderBase builder) { - if (stmt instanceof DocumentedNode) { - addCodegenInformation((DocumentedNode) stmt, builder); - } - } - - static final void addCodegenInformation(final DocumentedNode node, final GeneratedTypeBuilderBase builder) { - node.getDescription().map(BindingGeneratorUtil::encodeAngleBrackets).ifPresent(builder::setDescription); - node.getReference().ifPresent(builder::setReference); - } - - static final void addCodegenInformation(final ModuleGenerator module, final EffectiveStatement stmt, - final GeneratedTypeBuilderBase builder) { - if (stmt instanceof DocumentedNode) { - final DocumentedNode node = (DocumentedNode) stmt; - TypeComments.description(node).ifPresent(builder::addComment); - node.getDescription().ifPresent(builder::setDescription); - node.getReference().ifPresent(builder::setReference); - } - if (stmt instanceof SchemaNode) { - YangSourceDefinition.of(module.statement(), (SchemaNode) stmt).ifPresent(builder::setYangSourceDefinition); - } - } - static final void addUnits(final GeneratedTOBuilder builder, final TypeDefinition typedef) { typedef.getUnits().ifPresent(units -> { if (!units.isEmpty()) { @@ -399,12 +369,12 @@ public abstract class Generator implements Iterable { defineImplementedInterfaceMethod(builder, Type.of(builder)).setDefault(true); } - static final > AbstractExplicitGenerator getChild(final Generator parent, + static final > AbstractExplicitGenerator getChild(final Generator parent, final Class type) { for (Generator child : parent) { if (child instanceof AbstractExplicitGenerator) { @SuppressWarnings("unchecked") - final AbstractExplicitGenerator explicit = (AbstractExplicitGenerator)child; + final AbstractExplicitGenerator explicit = (AbstractExplicitGenerator)child; if (type.isInstance(explicit.statement())) { return explicit; } @@ -416,7 +386,7 @@ public abstract class Generator implements Iterable { private static MethodSignatureBuilder defineImplementedInterfaceMethod(final GeneratedTypeBuilder typeBuilder, final Type classType) { final MethodSignatureBuilder ret = typeBuilder - .addMethod(BindingMapping.DATA_CONTAINER_IMPLEMENTED_INTERFACE_NAME) + .addMethod(BindingMapping.BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME) .setAccessModifier(AccessModifier.PUBLIC) .setReturnType(classType(classType)); ret.addAnnotation(OVERRIDE_ANNOTATION);