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

jodd.util.KeyValue Maven / Gradle / Ivy

// Copyright (c) 2003-2012, Jodd Team (jodd.org). All Rights Reserved.

package jodd.util;

/**
 * Simple key-value holder.
 */
public class KeyValue {

	protected K key;
	protected V value;

	public KeyValue() {
	}

	public KeyValue(K key, V value) {
		this.key = key;
		this.value = value;
	}

	/**
	 * Sets a key.
	 */
	public void setKey(K key) {
		this.key = key;
	}

	/**
	 * Returns a key.
	 */
	public K getKey() {
		return key;
	}

	/**
	 * Returns a value.
	 */
	public V getValue() {
		return value;
	}

	/**
	 * Sets a value.
	 */
	public void setValue(V value) {
		this.value = value;
	}

	public boolean equals(Object o) {
		if (!(o instanceof KeyValue)) {
			return false;
		}
		KeyValue that = (KeyValue) o;

		Object k1 = getKey();
		Object k2 = that.getKey();

		if (k1 == k2 || (k1 != null && k1.equals(k2))) {
			Object v1 = getValue();
			Object v2 = that.getValue();
			if (v1 == v2 || (v1 != null && v1.equals(v2))) {
				return true;
			}
		}
		return false;
	}

	public int hashCode() {
		return (key == null ? 0 : key.hashCode()) ^
				(value == null ? 0 : value.hashCode());
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy