Deprecate old MD-SAL APIs for removal
[controller.git] / opendaylight / md-sal / sal-dom-spi / src / main / java / org / opendaylight / controller / md / sal / dom / broker / spi / mount / SimpleDOMMountPoint.java
index 003da3ea370d6437f4a815e86f598ceedcfc9b6c..9ecb09346eb20a2185f45ec3820c47459d5c9d18 100644 (file)
@@ -1,24 +1,37 @@
+/*
+ * Copyright (c) 2014, 2015 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.controller.md.sal.dom.broker.spi.mount;
 
+import com.google.common.base.Optional;
+import com.google.common.collect.ClassToInstanceMap;
+import com.google.common.collect.ImmutableClassToInstanceMap;
+import java.util.Map.Entry;
+import java.util.Set;
+import org.gaul.modernizer_maven_annotations.SuppressModernizer;
 import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
 import org.opendaylight.controller.md.sal.dom.api.DOMService;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-import com.google.common.base.Optional;
-import com.google.common.collect.ClassToInstanceMap;
-import com.google.common.collect.ImmutableClassToInstanceMap;
-
-public class SimpleDOMMountPoint implements DOMMountPoint {
+@Deprecated(forRemoval = true)
+public final class SimpleDOMMountPoint implements DOMMountPoint {
 
     private final YangInstanceIdentifier identifier;
     private final ClassToInstanceMap<DOMService> services;
     private final SchemaContext schemaContext;
 
-    public static final SimpleDOMMountPoint create(final YangInstanceIdentifier identifier, final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
+    public static SimpleDOMMountPoint create(final YangInstanceIdentifier identifier,
+            final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
         return new SimpleDOMMountPoint(identifier, services, ctx);
     }
-    private SimpleDOMMountPoint(final YangInstanceIdentifier identifier, final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
+
+    private SimpleDOMMountPoint(final YangInstanceIdentifier identifier,
+            final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
         this.identifier = identifier;
         this.services = ImmutableClassToInstanceMap.copyOf(services);
         this.schemaContext = ctx;
@@ -35,7 +48,26 @@ public class SimpleDOMMountPoint implements DOMMountPoint {
     }
 
     @Override
+    @SuppressModernizer
     public <T extends DOMService> Optional<T> getService(final Class<T> cls) {
         return Optional.fromNullable(services.getInstance(cls));
     }
+
+    public Set<Entry<Class<? extends DOMService>, DOMService>> getAllServices() {
+        return services.entrySet();
+    }
+
+    public ClassToInstanceMap<DOMService> getServices() {
+        return services;
+    }
+
+    @Override
+    public int hashCode() {
+        return identifier.hashCode();
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+        return this == obj || obj instanceof DOMMountPoint && identifier.equals(((DOMMountPoint) obj).getIdentifier());
+    }
 }