| /******************************************************************************* |
| * Copyright (c) 2007 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.debug.core.model; |
| |
| import org.eclipse.jdt.debug.core.IJavaObject; |
| import org.eclipse.jdt.internal.debug.core.logicalstructures.JDIPlaceholderVariable; |
| |
| /** |
| * A variable that stores a list of references. Used to display reference information collected from the vm |
| * using the 'all references' utility in Java 6.0. This variable uses a <code>JDIReferenceListValue</code> |
| * as its value. It's children will be <code>JDIReferenceListEntryVariable</code>. |
| * |
| * @since 3.3 |
| * @see JDIReferenceListValue |
| * @see JDIReferenceListEntryVariable |
| */ |
| public class JDIReferenceListVariable extends JDIPlaceholderVariable{ |
| |
| /** |
| * Creates a new variable that stores a list of references, all referring to the java object specified |
| * by the parameter root. |
| * |
| * @param name The name this variable should use |
| * @param root The root java object that references will be collected for |
| */ |
| public JDIReferenceListVariable(String name, IJavaObject root) { |
| super (name,new JDIReferenceListValue(root)); |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.jdt.internal.debug.core.logicalstructures.JDIPlaceholderVariable#equals(java.lang.Object) |
| */ |
| public boolean equals(Object obj) { |
| // Two JDIReferenceListVariables are equal if their values are equal |
| if (obj instanceof JDIReferenceListVariable){ |
| JDIReferenceListVariable var = (JDIReferenceListVariable)obj; |
| if (getValue() instanceof JDIPlaceholderValue || var.getValue() instanceof JDIPlaceholderValue){ |
| // A placeholder value is only equal to the same instance |
| return this == obj; |
| } |
| return getValue().equals(var.getValue()); |
| } |
| return false; |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.jdt.internal.debug.core.logicalstructures.JDIPlaceholderVariable#hashCode() |
| */ |
| public int hashCode() { |
| return getValue().hashCode(); |
| } |
| } |