Remove binding spec2
[mdsal.git] / binding2 / mdsal-binding2-dom-codec / src / main / java / org / opendaylight / mdsal / binding / javav2 / dom / codec / generator / impl / StreamWriterGenerator.java
diff --git a/binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/impl/StreamWriterGenerator.java b/binding2/mdsal-binding2-dom-codec/src/main/java/org/opendaylight/mdsal/binding/javav2/dom/codec/generator/impl/StreamWriterGenerator.java
deleted file mode 100644 (file)
index b84a26e..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2017 Pantheon Technologies s.r.o. 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.javav2.dom.codec.generator.impl;
-
-import com.google.common.annotations.Beta;
-import java.util.Collection;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.generator.api.TreeNodeSerializerGenerator;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.generator.spi.generator.AbstractStreamWriterGenerator;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.generator.spi.source.AbstractAugmentSerializerSource;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.generator.spi.source.AbstractAugmentableDataNodeContainerEmitterSource;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.generator.spi.source.AbstractTreeNodeSerializerSource;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.impl.serializer.AugmentableDispatchSerializer;
-import org.opendaylight.mdsal.binding.javav2.dom.codec.impl.serializer.ChoiceDispatchSerializer;
-import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType;
-import org.opendaylight.mdsal.binding.javav2.runtime.javassist.JavassistUtils;
-import org.opendaylight.mdsal.binding.javav2.spec.base.IdentifiableItem;
-import org.opendaylight.mdsal.binding.javav2.spec.base.TreeNode;
-import org.opendaylight.mdsal.binding.javav2.spec.runtime.BindingStreamEventWriter;
-import org.opendaylight.mdsal.binding.javav2.spec.runtime.TreeNodeSerializerImplementation;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-
-/**
- * Concrete implementation of {@link AbstractStreamWriterGenerator} which in
- * runtime generates classes implementing
- * {@link TreeNodeSerializerImplementation} interface and are used to serialize
- * Binding {@link TreeNode}.
- *
- * <p>
- * Actual implementation of codecs is done via static methods, which allows for
- * static wiring of codecs. Choice codec and Augmentable codecs are static
- * properties of parent codec and stateless implementations are used (
- * {@link ChoiceDispatchSerializer}, {@link AugmentableDispatchSerializer},
- * which uses registry to dispatch to concrete item codec.
- */
-@Beta
-public final class StreamWriterGenerator extends AbstractStreamWriterGenerator {
-
-    private static final String UNKNOWN_SIZE = BindingStreamEventWriter.class.getName() + ".UNKNOWN_SIZE";
-
-    private StreamWriterGenerator(final JavassistUtils utils, final Void ignore) {
-        super(utils);
-    }
-
-    /**
-     * Create a new instance backed by a specific {@link JavassistUtils}
-     * instance.
-     *
-     * @param utils
-     *            JavassistUtils instance to use
-     * @return A new generator
-     */
-    public static TreeNodeSerializerGenerator create(final JavassistUtils utils) {
-        return new StreamWriterGenerator(utils, null);
-    }
-
-    @Override
-    protected AbstractTreeNodeSerializerSource generateContainerSerializer(final GeneratedType type,
-            final ContainerSchemaNode node) {
-
-        return new AbstractAugmentableDataNodeContainerEmitterSource(this, type, node) {
-            @Override
-            public CharSequence emitStartEvent() {
-                return startContainerNode(classReference(type), UNKNOWN_SIZE);
-            }
-        };
-    }
-
-    @Override
-    protected AbstractTreeNodeSerializerSource generateNotificationSerializer(final GeneratedType type,
-            final NotificationDefinition node) {
-
-        return new AbstractAugmentableDataNodeContainerEmitterSource(this, type, node) {
-            @Override
-            public CharSequence emitStartEvent() {
-                return startContainerNode(classReference(type), UNKNOWN_SIZE);
-            }
-        };
-    }
-
-    @Override
-    protected AbstractTreeNodeSerializerSource generateCaseSerializer(final GeneratedType type,
-            final CaseSchemaNode node) {
-        return new AbstractAugmentableDataNodeContainerEmitterSource(this, type, node) {
-            @Override
-            public CharSequence emitStartEvent() {
-                return startCaseNode(classReference(type), UNKNOWN_SIZE);
-            }
-        };
-    }
-
-    @Override
-    protected AbstractTreeNodeSerializerSource generateUnkeyedListEntrySerializer(final GeneratedType type,
-            final ListSchemaNode node) {
-        return new AbstractAugmentableDataNodeContainerEmitterSource(this, type, node) {
-
-            @Override
-            public CharSequence emitStartEvent() {
-                return startUnkeyedListItem(UNKNOWN_SIZE);
-            }
-        };
-    }
-
-    @Override
-    protected AbstractTreeNodeSerializerSource generateAugmentSerializer(final GeneratedType type,
-            final Collection<AugmentationSchemaNode> augmentationSchemas) {
-        return new AbstractAugmentSerializerSource(this, type, augmentationSchemas) {
-
-            @Override
-            public CharSequence emitStartEvent() {
-                return startAugmentationNode(classReference(type));
-            }
-        };
-    }
-
-    @Override
-    protected AbstractTreeNodeSerializerSource generateMapEntrySerializer(final GeneratedType type,
-            final ListSchemaNode node) {
-        return new AbstractAugmentableDataNodeContainerEmitterSource(this, type, node) {
-            @Override
-            public CharSequence emitStartEvent() {
-                StringBuilder sb = new StringBuilder()
-                        .append('(')
-                        .append(IdentifiableItem.class.getName())
-                        .append(") ")
-                        .append(invoke(INPUT, "treeIdentifier"));
-                return startMapEntryNode(sb.toString(), UNKNOWN_SIZE);
-            }
-        };
-    }
-}