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=504459aa099dc980d97f0ed806b1694f9fb22e50;hpb=f7f3bbbc63a9e177f56064d821dc5f502dee378e;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 504459a..a50b8f2 100644 --- a/common/src/main/java/org/wamblee/xmlrouter/common/Id.java +++ b/common/src/main/java/org/wamblee/xmlrouter/common/Id.java @@ -1,20 +1,57 @@ +/* + * 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 { +/** + * 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 int id; + private String id; - public Id(int 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 int getId() { + /** + * @return The underlying id. + */ + public String getId() { return id; } @Override public int hashCode() { - return id; + return id.hashCode(); } @Override @@ -25,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()); } }