001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portal.kernel.util;
016    
017    import java.io.Serializable;
018    
019    /**
020     * @author Brian Wing Shun Chan
021     */
022    public class ObjectValuePair<K, V> implements Serializable {
023    
024            public ObjectValuePair() {
025            }
026    
027            public ObjectValuePair(K key, V value) {
028                    _key = key;
029                    _value = value;
030            }
031    
032            public K getKey() {
033                    return _key;
034            }
035    
036            public void setKey(K key) {
037                    _key = key;
038            }
039    
040            public V getValue() {
041                    return _value;
042            }
043    
044            public void setValue(V value) {
045                    _value = value;
046            }
047    
048            @Override
049            public boolean equals(Object obj) {
050                    if (this == obj) {
051                            return true;
052                    }
053    
054                    if (!(obj instanceof ObjectValuePair<?, ?>)) {
055                            return false;
056                    }
057    
058                    ObjectValuePair<K, V> kvp = (ObjectValuePair<K, V>)obj;
059    
060                    if (Validator.equals(_key, kvp._key)) {
061                            return true;
062                    }
063    
064                    return false;
065            }
066    
067            @Override
068            public int hashCode() {
069                    if (_key != null) {
070                            return _key.hashCode();
071                    }
072                    else {
073                            return 0;
074                    }
075            }
076    
077            private static final long serialVersionUID = 6341296770402285296L;
078    
079            private K _key;
080            private V _value;
081    
082    }