Add an interface to generate IntentIds

Change-Id: I3d29a12e5a2e4c64a6498b344e2b17cc4797b1ce
diff --git a/src/main/java/net/onrc/onos/api/intent/IntentIdGenerator.java b/src/main/java/net/onrc/onos/api/intent/IntentIdGenerator.java
new file mode 100644
index 0000000..7bfd906
--- /dev/null
+++ b/src/main/java/net/onrc/onos/api/intent/IntentIdGenerator.java
@@ -0,0 +1,19 @@
+package net.onrc.onos.api.intent;
+
+/**
+ * This interface is for generator of IntentId.
+ *
+ * <p>
+ * {@link #getNewId()} generates a globally unique {@link IntentId} instance
+ * on each invocation. Application developers should not generate IntentId
+ * by themselves. Instead use an implementation of this interface.
+ * </p>
+ */
+public interface IntentIdGenerator {
+    /**
+     * Generates a globally unique {@link IntentId} instance.
+     *
+     * @return a globally unique {@link IntentId} instance.
+     */
+    public IntentId getNewId();
+}