[ONOS] Compute path with Explicit path objects

Change-Id: Ib487688e15db7056283feef7720f610b2f59ad84
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PcePath.java b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PcePath.java
index 807b233..4886b97 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PcePath.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PcePath.java
@@ -19,7 +19,9 @@
 import org.onosproject.incubator.net.tunnel.Tunnel;
 import org.onosproject.incubator.net.tunnel.TunnelId;
 import org.onosproject.net.intent.Constraint;
-import org.onosproject.pce.pceservice.DefaultPcePath.Builder;
+
+import java.util.Collection;
+import java.util.List;
 
 /**
  * Abstraction of an entity which provides functionalities of pce path.
@@ -97,6 +99,13 @@
     Constraint bandwidthConstraint();
 
     /**
+     * Returns the list of explicit path objects.
+     *
+     * @return list of explicit path objects
+     */
+    Collection<ExplicitPathInfo> explicitPathInfo();
+
+    /**
      * Copies only non-null or non-zero member variables.
      *
      * @param id path-id
@@ -169,9 +178,18 @@
          * Copies tunnel information to local.
          *
          * @param tunnel pcc tunnel
+         * @param explicitPathInfoList list of explicit path objects info
          * @return object of pce-path
          */
-        Builder of(Tunnel tunnel);
+        Builder of(Tunnel tunnel, List<ExplicitPathInfo> explicitPathInfoList);
+
+        /**
+         * Returns the builder object of ExplicitPathInfo.
+         *
+         * @param explicitPathInfo list of explicit path obj
+         * @return builder object of ExplicitPathInfo
+         */
+        Builder explicitPathInfo(Collection<ExplicitPathInfo> explicitPathInfo);
 
         /**
          * Builds object of pce path.