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%2FNotificationGenerator.java;h=cc49b1d45516d4331fed3f62f1b096e09a132048;hb=0ee55d1f9da11dd03ff05fc67d10cbcbfe63fd2c;hp=39d0a89c852533eb4591ee0f0d05b5a4709dd895;hpb=89a12a10b9573dcc84a5636c046cbd0610bc2111;p=mdsal.git diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationGenerator.java index 39d0a89c85..cc49b1d455 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationGenerator.java @@ -7,19 +7,26 @@ */ package org.opendaylight.mdsal.binding.generator.impl.reactor; +import java.util.List; +import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultNotificationRuntimeType; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.Type; 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.ri.BindingTypes; +import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType; +import org.opendaylight.mdsal.binding.runtime.api.NotificationRuntimeType; +import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; /** * Generator corresponding to a {@code notification} statement. */ -final class NotificationGenerator extends AbstractCompositeGenerator { - NotificationGenerator(final NotificationEffectiveStatement statement, final AbstractCompositeGenerator parent) { +final class NotificationGenerator + extends CompositeSchemaTreeGenerator { + NotificationGenerator(final NotificationEffectiveStatement statement, + final AbstractCompositeGenerator parent) { super(statement, parent); } @@ -44,7 +51,7 @@ final class NotificationGenerator extends AbstractCompositeGenerator createBuilder( + final NotificationEffectiveStatement statement) { + return new CompositeRuntimeTypeBuilder<>(statement) { + @Override + NotificationRuntimeType build(final GeneratedType type, final NotificationEffectiveStatement statement, + final List children, final List augments) { + return new DefaultNotificationRuntimeType(type, statement, children, augments); + } + }; + } + private Type notificationType(final GeneratedTypeBuilder builder, final TypeBuilderFactory builderFactory) { - final AbstractCompositeGenerator parent = getParent(); + final AbstractCompositeGenerator parent = getParent(); if (parent instanceof ModuleGenerator) { - return BindingTypes.NOTIFICATION; + return BindingTypes.notification(builder); } final Type parentType = Type.of(parent.typeName());