*/
package org.opendaylight.mdsal.binding.generator.impl.reactor;
-import static org.opendaylight.mdsal.binding.model.ri.BindingTypes.identifiable;
+import static org.opendaylight.mdsal.binding.model.ri.BindingTypes.keyAware;
import java.util.List;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.MethodSignature.ValueMechanics;
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.api.type.builder.MethodSignatureBuilder;
import org.opendaylight.mdsal.binding.model.ri.Types;
import org.opendaylight.mdsal.binding.runtime.api.KeyRuntimeType;
import org.opendaylight.mdsal.binding.runtime.api.ListRuntimeType;
import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
-import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
+import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
import org.opendaylight.yangtools.yang.common.Ordering;
import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ListEffectiveStatement;
@Override
GeneratedType createTypeImpl(final TypeBuilderFactory builderFactory) {
- final GeneratedTypeBuilder builder = builderFactory.newGeneratedTypeBuilder(typeName());
+ final var builder = builderFactory.newGeneratedTypeBuilder(typeName());
addImplementsChildOf(builder);
addAugmentable(builder);
addUsesInterfaces(builder, builderFactory);
addConcreteInterfaceMethods(builder);
- final ModuleGenerator module = currentModule();
+ final var module = currentModule();
module.addQNameConstant(builder, localName());
- if (keyGen != null) {
+ final var local = keyGen;
+ if (local != null) {
// Add yang.binding.Identifiable and its key() method
- final GeneratedType keyType = keyGen.getGeneratedType(builderFactory);
- builder.addImplementsType(identifiable(keyType));
- builder.addMethod(BindingMapping.IDENTIFIABLE_KEY_NAME)
+ final var keyType = local.getGeneratedType(builderFactory);
+ builder.addImplementsType(keyAware(keyType));
+ builder.addMethod(Naming.KEY_AWARE_KEY_NAME)
.setReturnType(keyType)
.addAnnotation(OVERRIDE_ANNOTATION);
}
}
private @Nullable KeyRuntimeType keyRuntimeType() {
- final var gen = keyGen;
- return gen != null ? gen.runtimeType().orElseThrow() : null;
+ final var local = keyGen;
+ return local != null ? local.getRuntimeType() : null;
}
@Override
Type methodReturnType(final TypeBuilderFactory builderFactory) {
- final Type generatedType = super.methodReturnType(builderFactory);
+ final var generatedType = super.methodReturnType(builderFactory);
// We are wrapping the generated type in either a List or a Map based on presence of the key
- if (keyGen != null && statement().ordering() == Ordering.SYSTEM) {
- return Types.mapTypeFor(keyGen.getGeneratedType(builderFactory), generatedType);
+ final var local = keyGen;
+ if (local != null && statement().ordering() == Ordering.SYSTEM) {
+ return Types.mapTypeFor(local.getGeneratedType(builderFactory), generatedType);
}
return Types.listTypeFor(generatedType);
@Override
MethodSignatureBuilder constructGetter(final GeneratedTypeBuilderBase<?> builder, final Type returnType) {
- final MethodSignatureBuilder ret = super.constructGetter(builder, returnType)
- .setMechanics(ValueMechanics.NULLIFY_EMPTY);
+ final var ret = super.constructGetter(builder, returnType).setMechanics(ValueMechanics.NULLIFY_EMPTY);
- final MethodSignatureBuilder nonnull = builder
- .addMethod(BindingMapping.getNonnullMethodName(localName().getLocalName()))
+ final var nonnull = builder
+ .addMethod(Naming.getNonnullMethodName(localName().getLocalName()))
.setReturnType(returnType)
.setDefault(true);
annotateDeprecatedIfNecessary(nonnull);