*/
package org.opendaylight.mdsal.binding.generator.impl.reactor;
-import static com.google.common.base.Verify.verify;
import static org.opendaylight.mdsal.binding.model.ri.BindingTypes.BASE_IDENTITY;
import java.util.List;
import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultIdentityRuntimeType;
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.runtime.api.IdentityRuntimeType;
-import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
import org.opendaylight.yangtools.yang.binding.BaseIdentity;
+import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
@Override
GeneratedType createTypeImpl(final TypeBuilderFactory builderFactory) {
- final GeneratedTypeBuilder builder = builderFactory.newGeneratedTypeBuilder(typeName());
+ final var builder = builderFactory.newGeneratedTypeBuilder(typeName());
if (!baseIdentities.isEmpty()) {
- for (IdentityGenerator baseIdentity : baseIdentities) {
+ for (var baseIdentity : baseIdentities) {
builder.addImplementsType(baseIdentity.getGeneratedType(builderFactory));
}
} else {
builder.addImplementsType(BASE_IDENTITY);
}
+ annotateDeprecatedIfNecessary(statement(), builder);
+
narrowImplementedInterface(builder);
- final ModuleGenerator module = currentModule();
+ final var module = currentModule();
module.addQNameConstant(builder, localName());
// Constant implementation
- builder.addConstant(Type.of(builder), BindingMapping.VALUE_STATIC_FIELD_NAME, BaseIdentity.class);
+ builder.addConstant(Type.of(builder), Naming.VALUE_STATIC_FIELD_NAME, BaseIdentity.class);
builderFactory.addCodegenInformation(module, statement(), builder);
builder.setModuleName(module.statement().argument().getLocalName());
return builder.build();
}
- @Override
- GeneratedType runtimeJavaType() {
- return generatedType().orElse(null);
- }
-
@Override
IdentityRuntimeType createExternalRuntimeType(final Type type) {
- verify(type instanceof GeneratedType, "Unexpected type %s", type);
- return new DefaultIdentityRuntimeType((GeneratedType) type, statement());
+ return new DefaultIdentityRuntimeType(verifyGeneratedType(type), statement());
}
@Override