X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FContainerLikeCodecContext.java;fp=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FContainerLikeCodecContext.java;h=cef279a5c5043ab9251179929371479321dbed40;hb=ad0bc524d0143b93a15b1ce906f79c8192f77412;hp=0000000000000000000000000000000000000000;hpb=2b6ec88b72b016355edccd499e3177629b19e6d9;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerLikeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerLikeCodecContext.java new file mode 100644 index 0000000000..cef279a5c5 --- /dev/null +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerLikeCodecContext.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.mdsal.binding.dom.codec.impl; + +import org.opendaylight.mdsal.binding.runtime.api.ContainerLikeRuntimeType; +import org.opendaylight.yangtools.yang.binding.DataObject; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; + +sealed class ContainerLikeCodecContext + extends DataObjectCodecContext> implements RpcInputCodec + permits StructuralContainerCodecContext { + ContainerLikeCodecContext(final DataContainerCodecPrototype> prototype) { + super(prototype); + } + + @Override + public final D deserialize(final NormalizedNode data) { + return createBindingProxy(checkDataArgument(ContainerNode.class, data)); + } + + @Override + protected final Object deserializeObject(final NormalizedNode normalizedNode) { + return deserialize(normalizedNode); + } +}