/******************************************************************************* * Copyright (c) 2006, 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.core.databinding.observable.list; /** * Object describing a diff between two lists. * * @since 1.0 */ public abstract class ListDiff { /** * Returns a list of ListDiffEntry * * @return a list of ListDiffEntry */ public abstract ListDiffEntry[] getDifferences(); /** * @see java.lang.Object#toString() */ public String toString() { ListDiffEntry[] differences = getDifferences(); StringBuffer buffer = new StringBuffer(); buffer.append(getClass().getName()); if (differences == null || differences.length == 0) { buffer .append("{}"); //$NON-NLS-1$ } else { buffer .append("{"); //$NON-NLS-1$ for (int i = 0; i < differences.length; i++) { if (i > 0) buffer.append(", "); //$NON-NLS-1$ buffer .append("difference[") //$NON-NLS-1$ .append(i) .append("] [") //$NON-NLS-1$ .append(differences[i] != null ? differences[i].toString() : "null") //$NON-NLS-1$ .append("]"); //$NON-NLS-1$ } buffer.append("}"); //$NON-NLS-1$ } return buffer.toString(); } }