/******************************************************************************* * Copyright (c) 2000, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.internal.core; import org.eclipse.jdt.core.IMemberValuePair; import org.eclipse.jdt.internal.core.util.Util; public class MemberValuePair implements IMemberValuePair { String memberName; public Object value; public int valueKind = K_UNKNOWN; public MemberValuePair(String memberName) { this.memberName = memberName; } public MemberValuePair(String memberName, Object value, int valueKind) { this(memberName); this.value = value; this.valueKind = valueKind; } public boolean equals(Object obj) { if (!(obj instanceof MemberValuePair)) { return false; } MemberValuePair other = (MemberValuePair) obj; return this.valueKind == other.valueKind && this.memberName.equals(other.memberName) && (this.value == other.value || (this.value != null && this.value.equals(other.value)) || (this.value instanceof Object[] && other.value instanceof Object[] && Util.equalArraysOrNull((Object[])this.value, (Object[]) other.value))); } public String getMemberName() { return this.memberName; } public Object getValue() { return this.value; } public int getValueKind() { return this.valueKind; } public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((this.memberName == null) ? 0 : this.memberName.hashCode()); result = prime * result + ((this.value == null) ? 0 : this.value.hashCode()); result = prime * result + this.valueKind; return result; } }