Use DOMMountPointServiceHandler non-statically
[netconf.git] / restconf / restconf-nb-rfc8040 / src / main / java / org / opendaylight / restconf / nb / rfc8040 / handlers / DOMMountPointServiceHandler.java
index 5aa930c77ea7c3da605f3d07c68e0b6aa95cb1f9..e299fe071587c1690620b44669926efdd7444602 100644 (file)
@@ -7,16 +7,17 @@
  */
 package org.opendaylight.restconf.nb.rfc8040.handlers;
 
-import com.google.common.base.Preconditions;
+import java.util.Objects;
 import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
 
 /**
  * Implementation of {@link DOMMountPointServiceHandler}.
  *
  */
-public class DOMMountPointServiceHandler implements Handler<DOMMountPointService> {
+public final class DOMMountPointServiceHandler implements Handler<DOMMountPointService> {
+    private static final DOMMountPointServiceHandler INSTANCE = new DOMMountPointServiceHandler();
 
-    private final DOMMountPointService domMountPointService;
+    private DOMMountPointService domMountPointService;
 
     /**
      * Prepare mount point service for Restconf services.
@@ -24,14 +25,26 @@ public class DOMMountPointServiceHandler implements Handler<DOMMountPointService
      * @param domMountPointService
      *             mount point service
      */
-    public DOMMountPointServiceHandler(final DOMMountPointService domMountPointService) {
-        Preconditions.checkNotNull(domMountPointService);
-        this.domMountPointService = domMountPointService;
+    private DOMMountPointServiceHandler(final DOMMountPointService domMountPointService) {
+        this.domMountPointService = Objects.requireNonNull(domMountPointService);
+    }
+
+    @Deprecated
+    private DOMMountPointServiceHandler() {
+    }
+
+    @Deprecated
+    public static DOMMountPointServiceHandler instance() {
+        return INSTANCE;
+    }
+
+    public static DOMMountPointServiceHandler newInstance(DOMMountPointService domMountPointService) {
+        INSTANCE.domMountPointService = domMountPointService;
+        return INSTANCE;
     }
 
     @Override
     public DOMMountPointService get() {
         return this.domMountPointService;
     }
-
 }