BUG-4688: switch revisions from Date to Revision
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / SchemaContext.java
index 2063a799d350bb3f8ced551d68637cdf6ed1efcd..ea57bbf70952f20a6fcf9b1151e7d1992b6f6462 100644 (file)
@@ -9,13 +9,13 @@ package org.opendaylight.yangtools.yang.model.api;
 
 import com.google.common.collect.Sets;
 import java.net.URI;
-import java.util.Date;
 import java.util.Optional;
 import java.util.Set;
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.Immutable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
+import org.opendaylight.yangtools.yang.common.Revision;
 
 /**
  * The interface represents static view of compiled yang files,
@@ -72,11 +72,11 @@ public interface SchemaContext extends ContainerSchemaNode {
      * @param name
      *            string with the module name
      * @param revision
-     *            date of the module revision, may be null
+     *            date of the module revision
      * @return module instance which has name and revision the same as are the values specified in parameters
      *         <code>name</code> and <code>revision</code>.
      */
-    Optional<Module> findModule(String name, @Nullable Date revision);
+    Optional<Module> findModule(String name, Optional<Revision> revision);
 
     /**
      * Returns module instance (from the context) with concrete name and revision date.
@@ -100,15 +100,19 @@ public interface SchemaContext extends ContainerSchemaNode {
      * @return module instance which has name and revision the same as are the values specified in parameters
      *         <code>name</code> and <code>revision</code>.
      */
-    default Optional<Module> findModule(final String name, final Optional<Date> revision) {
-        return findModule(name, revision.orElse(null));
+    default Optional<Module> findModule(final String name, @Nullable final Revision revision) {
+        return findModule(name, Optional.ofNullable(revision));
     }
 
     default Optional<Module> findModule(final URI namespace) {
         return findModule(QNameModule.create(namespace));
     }
 
-    default Optional<Module> findModule(final URI namespace, @Nullable final Date revision) {
+    default Optional<Module> findModule(final URI namespace, @Nullable final Revision revision) {
+        return findModule(QNameModule.create(namespace, revision));
+    }
+
+    default Optional<Module> findModule(final URI namespace, final Optional<Revision> revision) {
         return findModule(QNameModule.create(namespace, revision));
     }