Remove binding spec2
[mdsal.git] / binding2 / mdsal-binding2-spec / src / main / java / org / opendaylight / mdsal / binding / javav2 / spec / base / InstanceIdentifierBuilderImpl.java
diff --git a/binding2/mdsal-binding2-spec/src/main/java/org/opendaylight/mdsal/binding/javav2/spec/base/InstanceIdentifierBuilderImpl.java b/binding2/mdsal-binding2-spec/src/main/java/org/opendaylight/mdsal/binding/javav2/spec/base/InstanceIdentifierBuilderImpl.java
deleted file mode 100644 (file)
index 2a5b270..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2017 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.javav2.spec.base;
-
-import com.google.common.annotations.Beta;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
-import java.util.Objects;
-import org.opendaylight.mdsal.binding.javav2.spec.structural.Augmentation;
-import org.opendaylight.mdsal.binding.javav2.spec.structural.TreeChildNode;
-import org.opendaylight.yangtools.concepts.Identifiable;
-import org.opendaylight.yangtools.util.HashCodeBuilder;
-
-@Beta
-final class InstanceIdentifierBuilderImpl<T extends TreeNode>
- implements InstanceIdentifierBuilder<T> {
-    private final ImmutableList.Builder<TreeArgument> pathBuilder = ImmutableList.builder();
-    private final HashCodeBuilder<TreeArgument> hashBuilder;
-    private final Iterable<? extends TreeArgument> basePath;
-    private boolean wildcard = false;
-    private TreeArgument arg = null;
-
-    InstanceIdentifierBuilderImpl() {
-        this.hashBuilder = new HashCodeBuilder<>();
-        this.basePath = null;
-    }
-
-    InstanceIdentifierBuilderImpl(final TreeArgument item, final Iterable<? extends TreeArgument> pathArguments, final int hash, final boolean wildcard) {
-        this.hashBuilder = new HashCodeBuilder<>(hash);
-        this.basePath = pathArguments;
-        this.wildcard = wildcard;
-        this.arg = item;
-    }
-
-    @Override
-    public int hashCode() {
-        return hashBuilder.build();
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj instanceof InstanceIdentifierBuilderImpl) {
-            InstanceIdentifierBuilderImpl<T> otherBuilder = (InstanceIdentifierBuilderImpl<T>) obj;
-            return wildcard == otherBuilder.wildcard &&
-                    Objects.equals(basePath, otherBuilder.basePath) &&
-                    Objects.equals(arg, otherBuilder.arg) &&
-                    Objects.equals(hashBuilder.build(), otherBuilder.hashBuilder.build());
-        }
-        return false;
-    }
-
-    @SuppressWarnings("unchecked")
-    <N extends TreeNode> InstanceIdentifierBuilderImpl<N> addNode(final Class<N> container) {
-        arg = new Item<N>(container);
-        hashBuilder.addArgument(arg);
-        pathBuilder.add(arg);
-
-        if (Identifiable.class.isAssignableFrom(container)) {
-            wildcard = true;
-        }
-
-        return (InstanceIdentifierBuilderImpl<N>) this;
-    }
-
-    @SuppressWarnings("unchecked")
-    <N extends TreeNode, K> InstanceIdentifierBuilderImpl<N> addNode(
-            final Class<N> listItem, final K listKey) {
-        arg = new IdentifiableItem<N, K>(listItem, listKey);
-        hashBuilder.addArgument(arg);
-        pathBuilder.add(arg);
-        return (InstanceIdentifierBuilderImpl<N>) this;
-    }
-
-    @Override
-    public <N extends TreeNode & TreeChildNode<? super T, Item<N>>> InstanceIdentifierBuilderImpl<N> child(
-            final Class<N> container) {
-        return addNode(container);
-    }
-
-    @Override
-    public <N extends TreeChildNode<? super T, ?>, K> InstanceIdentifierBuilderImpl<N> child(
-            final Class<N> listItem, final K listKey) {
-        return addNode(listItem, listKey);
-    }
-
-    /**
-     * Build an identifier which refers to a specific augmentation of the current InstanceIdentifier referenced by
-     * the builder
-     *
-     * @param container
-     * @param <N>
-     * @return
-     */
-    @Override
-    public <N extends TreeNode & Augmentation<? super T>> InstanceIdentifierBuilderImpl<N> augmentation(
-            final Class<N> container) {
-        return addNode(container);
-    }
-
-    @Override
-    public InstanceIdentifier<T> build() {
-        Preconditions.checkState(arg != null, "No path arguments present");
-
-        final Iterable<TreeArgument> pathArguments;
-        if (basePath == null) {
-            pathArguments = pathBuilder.build();
-        } else {
-            pathArguments = Iterables.concat(basePath, pathBuilder.build());
-        }
-
-        @SuppressWarnings("unchecked")
-        final InstanceIdentifier<T> ret = (InstanceIdentifier<T>) InstanceIdentifier.trustedCreate(arg, pathArguments, hashBuilder.build(), wildcard);
-        return ret;
-    }
-
-    /*
-     * @deprecated Use #build() instead.
-     */
-    @Override
-    @Deprecated
-    public InstanceIdentifier<T> toInstance() {
-        return build();
-    }
-}