import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnknownTypeDefinition;
-import org.opendaylight.yangtools.yang.model.spi.AbstractEffectiveModelContextProvider;
import org.opendaylight.yangtools.yang.model.util.LeafrefResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
*
* @param <T> Codec type
*/
-public abstract class AbstractCodecFactory<T extends TypeAwareCodec<?, ?, ?>>
- extends AbstractEffectiveModelContextProvider {
+public abstract class AbstractCodecFactory<T extends TypeAwareCodec<?, ?, ?>> {
private static final Logger LOG = LoggerFactory.getLogger(AbstractCodecFactory.class);
+ private final @NonNull EffectiveModelContext modelContext;
private final @NonNull CodecCache<T> cache;
- protected AbstractCodecFactory(final @NonNull EffectiveModelContext schemaContext,
+ protected AbstractCodecFactory(final @NonNull EffectiveModelContext modelContext,
final @NonNull CodecCache<T> cache) {
- super(schemaContext);
+ this.modelContext = requireNonNull(modelContext);
this.cache = requireNonNull(cache);
}
return cache.getComplex(schema, ret);
}
+ /**
+ * Return the {@link EffectiveModelContext} backing this factory.
+ *
+ * @return the {@link EffectiveModelContext} backing this factory
+ */
+ public final @NonNull EffectiveModelContext modelContext() {
+ return modelContext;
+ }
+
protected abstract T binaryCodec(BinaryTypeDefinition type);
protected abstract T booleanCodec(BooleanTypeDefinition type);