Reuse a single QNameModule for NULL 38/8638/1
authorRobert Varga <rovarga@cisco.com>
Thu, 3 Jul 2014 21:08:14 +0000 (23:08 +0200)
committerRobert Varga <rovarga@cisco.com>
Thu, 3 Jul 2014 21:13:27 +0000 (23:13 +0200)
QNameModules with null namespace/revision are an easy pick -- reuse a
single instance for all of them.

Change-Id: I1f519ad5a46c82da3daf17122087af89c97e5df8
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QNameModule.java

index 74844de8f7e242c2f2dfbcb92baf79c5b43d58bf..5bce3d48516fa5941376cbf616e59bb5bd4e91f5 100644 (file)
@@ -18,6 +18,7 @@ import org.slf4j.LoggerFactory;
 
 public final class QNameModule implements Immutable, Serializable {
     private static final Logger LOG = LoggerFactory.getLogger(QNameModule.class);
+    private static final QNameModule NULL_INSTANCE = new QNameModule(null, null);
     private static final long serialVersionUID = 1L;
 
     //Nullable
@@ -35,6 +36,10 @@ public final class QNameModule implements Immutable, Serializable {
     }
 
     public static QNameModule create(final URI namespace, final Date revision) {
+        if (namespace == null && revision == null) {
+            return NULL_INSTANCE;
+        }
+
         return new QNameModule(namespace, revision);
     }