All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nu.zoom.ldap.eon.connection.ConnectionGUID Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2005 Johan Maasing johan at zoom.nu
 * 
 * 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 nu.zoom.ldap.eon.connection;

import java.io.Serializable;

import nu.zoom.util.UniqueIDGenerator;

/**
 * A globally unique key used to identify connection instances.
 * 
 * @version $Revision: 1.1.1.1 $
 * @author $Author: johan $
 */
public class ConnectionGUID implements Serializable
{

	private static final UniqueIDGenerator generator = new UniqueIDGenerator();
	private String guid;

	private ConnectionGUID(UniqueIDGenerator generator) {
		guid = generator.getID();
	}

	private ConnectionGUID(String guid) {
		if (guid == null) {
			throw new IllegalArgumentException("guid string can not be null");
		}
		guid = generator.getID();
	}

	/**
	 * Get a new connection id. This is guaranteed to be globally unique.
	 * 
	 * @see UniqueIDGenerator#getID()
	 * @return A new id.
	 */
	public static final ConnectionGUID getInstance() {
		return new ConnectionGUID(generator);
	}

	/**
	 * Convert a string representation to an instance of a Connection GUID
	 * 
	 * @param guid
	 *            The string representation of a GUID. Can not be null.
	 */
	public static final ConnectionGUID fromString(String guid) {
		return new ConnectionGUID(guid);
	}

	/**
	 * Get a String representation of the ConnectionGUID.
	 */
	public String toString() {
		return guid;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy