X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fcommon%2FId.java;h=a50b8f2c7b3dcd8999b641df7b60c9a4fe5a981d;hb=ca624324bf36e5ba8217a6af861cbf898a40adfc;hp=704aac937c12fb20bc9d8c8ca35a6a14b6230365;hpb=20807d81708bd33b3b5a4616fadcf3ae91bf9508;p=xmlrouter diff --git a/common/src/main/java/org/wamblee/xmlrouter/common/Id.java b/common/src/main/java/org/wamblee/xmlrouter/common/Id.java index 704aac9..a50b8f2 100644 --- a/common/src/main/java/org/wamblee/xmlrouter/common/Id.java +++ b/common/src/main/java/org/wamblee/xmlrouter/common/Id.java @@ -15,21 +15,43 @@ */ package org.wamblee.xmlrouter.common; -public class Id { +/** + * This class provides a generic typesafe id wrapping a long value. + * + * @author Erik Brakkee + * + * @param + * Type the id refers to. + */ +public class Id implements Comparable> { - private long id; + private String id; - public Id(long aId) { + /** + * Constructs the id. + * + * @param aId + * Integer id. + * @throws NullPointerException + * in case the id is null. + */ + public Id(String aId) { + if (aId == null) { + throw new NullPointerException("id is null"); + } id = aId; } - public long getId() { + /** + * @return The underlying id. + */ + public String getId() { return id; } @Override public int hashCode() { - return ((Long) id).hashCode(); + return id.hashCode(); } @Override @@ -40,11 +62,16 @@ public class Id { if (!(aObj instanceof Id)) { return false; } - return id == ((Id) aObj).id; + return id.equals(((Id) aObj).id); } @Override public String toString() { - return id + ""; + return id; + } + + @Override + public int compareTo(Id aId) { + return id.compareTo(aId.getId()); } }