Allow to specify time when creates a mapping event instance

Change-Id: Id4d9583a8d43d8a6e0913393d35a222b9688b0d2
diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMapping.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMapping.java
index a6836f8..42415ff 100644
--- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMapping.java
+++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMapping.java
@@ -122,6 +122,18 @@
                 .toString();
     }
 
+    /**
+     * Returns a default mapping builder.
+     *
+     * @return builder
+     */
+    public static Builder builder() {
+        return new Builder();
+    }
+
+    /**
+     * Default mapping builder.
+     */
     public static final class Builder implements Mapping.Builder {
 
         private MappingId id;
diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMappingEntry.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMappingEntry.java
index cbdce56..626cee2 100644
--- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMappingEntry.java
+++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/DefaultMappingEntry.java
@@ -40,6 +40,15 @@
         this.state = state;
     }
 
+    /**
+     * Creates a mapping entry specified with the mapping.
+     *
+     * @param mapping mapping
+     */
+    public DefaultMappingEntry(Mapping mapping) {
+        this(mapping, MappingEntryState.PENDING_ADD);
+    }
+
     @Override
     public MappingEntryState state() {
         return state;
diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingEvent.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingEvent.java
index 4b03d13..8d23085 100644
--- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingEvent.java
+++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingEvent.java
@@ -22,6 +22,9 @@
  */
 public class MappingEvent extends AbstractEvent<MappingEvent.Type, Mapping> {
 
+    /**
+     * Type of mapping events.
+     */
     public enum Type {
 
         /**
@@ -54,10 +57,28 @@
         /**
          * Signifies that a request to remove flow rule has been added to the store.
          */
-        MAPPING_REMOVE_REQUESTED,
+        MAPPING_REMOVE_REQUESTED
     }
 
+    /**
+     * Creates an event of a given type and for the specified mapping and the
+     * current time.
+     *
+     * @param type    mapping event type
+     * @param mapping event mapping subject
+     */
     public MappingEvent(Type type, Mapping mapping) {
         super(type, mapping);
     }
+
+    /**
+     * Creates an event of a given type and for the specified mapping and time.
+     *
+     * @param type    mapping event type
+     * @param mapping event mapping subject
+     * @param time    occurrence time
+     */
+    public MappingEvent(Type type, Mapping mapping, long time) {
+        super(type, mapping, time);
+    }
 }