ef6648a7917a74b386ded70f1d799becd7b74386ugaston/*
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * CDDL HEADER START
ef6648a7917a74b386ded70f1d799becd7b74386ugaston *
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * The contents of this file are subject to the terms of the
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * Common Development and Distribution License, Version 1.0 only
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * (the "License"). You may not use this file except in compliance
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * with the License.
ef6648a7917a74b386ded70f1d799becd7b74386ugaston *
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * or http://forgerock.org/license/CDDLv1.0.html.
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * See the License for the specific language governing permissions
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * and limitations under the License.
ef6648a7917a74b386ded70f1d799becd7b74386ugaston *
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * When distributing Covered Code, include this CDDL HEADER in each
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * file and include the License file at legal-notices/CDDLv1_0.txt.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * If applicable, add the following below this CDDL HEADER, with the
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * fields enclosed by brackets "[]" replaced with your own identifying
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac * information:
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * Portions Copyright [yyyy] [name of copyright owner]
ef6648a7917a74b386ded70f1d799becd7b74386ugaston *
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * CDDL HEADER END
ef6648a7917a74b386ded70f1d799becd7b74386ugaston *
ef6648a7917a74b386ded70f1d799becd7b74386ugaston *
ef6648a7917a74b386ded70f1d799becd7b74386ugaston * Copyright 2010 Sun Microsystems, Inc.
ef6648a7917a74b386ded70f1d799becd7b74386ugaston */
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugastonclass CSN implements Comparable<CSN> {
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston String value;
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston public CSN (String value) {
ef6648a7917a74b386ded70f1d799becd7b74386ugaston this.value = value;
ef6648a7917a74b386ded70f1d799becd7b74386ugaston }
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston public int compareTo (CSN anotherCSN) {
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston if (this.value.equals(anotherCSN.value)) // same CSN value
ef6648a7917a74b386ded70f1d799becd7b74386ugaston return 0;
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston Long i = Long.valueOf(this.value.substring(0,12),16 );
ef6648a7917a74b386ded70f1d799becd7b74386ugaston Long l = Long.valueOf(anotherCSN.value.substring(0,12),16 );
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston return(i.compareTo(l));
ef6648a7917a74b386ded70f1d799becd7b74386ugaston }
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston public boolean equals(Object anotherCSN) {
ef6648a7917a74b386ded70f1d799becd7b74386ugaston if (this.value.equals(anotherCSN))
ef6648a7917a74b386ded70f1d799becd7b74386ugaston return true;
ef6648a7917a74b386ded70f1d799becd7b74386ugaston else
ef6648a7917a74b386ded70f1d799becd7b74386ugaston return false;
ef6648a7917a74b386ded70f1d799becd7b74386ugaston }
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston public String getValue (){
ef6648a7917a74b386ded70f1d799becd7b74386ugaston return(value);
ef6648a7917a74b386ded70f1d799becd7b74386ugaston }
ef6648a7917a74b386ded70f1d799becd7b74386ugaston
ef6648a7917a74b386ded70f1d799becd7b74386ugaston public String toString (){
ef6648a7917a74b386ded70f1d799becd7b74386ugaston return(value);
ef6648a7917a74b386ded70f1d799becd7b74386ugaston }
ef6648a7917a74b386ded70f1d799becd7b74386ugaston}