Now using RouterConfig internally inside the XML Router.
[xmlrouter] / common / src / main / java / org / wamblee / xmlrouter / common / Id.java
index 504459aa099dc980d97f0ed806b1694f9fb22e50..f057b416ee8572570b018fd83594fa40869ffd63 100644 (file)
@@ -1,20 +1,52 @@
+/*
+ * Copyright 2005-2011 the original author or authors.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.wamblee.xmlrouter.common;
 
-public class Id<T> {
+/**
+ * This class provides a generic typesafe id wrapping a long value.
+ * 
+ * @author Erik Brakkee
+ * 
+ * @param <T>
+ *            Type the id refers to.
+ */
+public class Id<T> implements Comparable<Id<T>> {
 
-    private int id;
+    private long id;
 
-    public Id(int aId) {
+    /**
+     * Constructs the id.
+     * 
+     * @param aId
+     *            Integer id.
+     */
+    public Id(long aId) {
         id = aId;
     }
 
-    public int getId() {
+    /**
+     * @return The underlying id.
+     */
+    public long getId() {
         return id;
     }
 
     @Override
     public int hashCode() {
-        return id;
+        return ((Long) id).hashCode();
     }
 
     @Override
@@ -32,4 +64,9 @@ public class Id<T> {
     public String toString() {
         return id + "";
     }
+
+    @Override
+    public int compareTo(Id<T> aId) {
+        return ((Long) id).compareTo((Long) aId.getId());
+    }
 }