blob: ded9fbad015baf8d66cb5fc69e0f0df44d3a2ac9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002, 2006 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 - Initial API and implementation
*******************************************************************************/
package org.eclipse.core.tools.metadata;
import java.io.File;
/**
* Default implementation for <code>IDump</code>.
*
* @see IDump
*/
public class Dump implements IDump {
/**
* The file processed in order to produce this dump
*/
private File file;
/**
* The failure flag for this dump object.
*/
private boolean failed;
/**
* The exception that caused the failure (may be null)
*/
private Exception failureReason;
/**
* An object that represents the dump contents.
*/
private Object contents;
/**
* The offset where the dumper stopped when reading the dumped file.
*/
private long offset;
/**
* Constructs a Dump object to be initialized using the setter methods.
*/
public Dump() {
super();
}
/**
* @see org.eclipse.core.tools.metadata.IDump#getFile()
*/
@Override
public File getFile() {
return file;
}
/**
* @see org.eclipse.core.tools.metadata.IDump#isFailed()
*/
@Override
public boolean isFailed() {
return failed || this.failureReason != null;
}
/**
* @see org.eclipse.core.tools.metadata.IDump#getFailureReason()
*/
@Override
public Exception getFailureReason() {
return failureReason;
}
/**
* Sets the failure reason.
*
* @param failureReason The failure reason for this dump object
*/
public void setFailureReason(Exception failureReason) {
this.failureReason = failureReason;
}
/**
* Sets the file.
*
* @param file The file for this dump object
*/
public void setFile(File file) {
this.file = file;
}
/**
* @see IDump#getContents()
*/
@Override
public Object getContents() {
return contents;
}
/**
* Sets the contents.
*
* @param contents The contents for this dump object
*/
public void setContents(Object contents) {
this.contents = contents;
}
/**
* Sets the offset.
*
* @param offset The offset for this dump object
*/
public void setOffset(long offset) {
this.offset = offset;
}
/**
* @see IDump#getOffset()
*/
@Override
public long getOffset() {
return offset;
}
/**
* Returns a human-readable representation for this dump object (for
* debugging purposes).
*/
@Override
public String toString() {
return "File: " + getFile() + "\n" + "Contents: \n******\n" + getContents() + "\n******\n" + "Failed: " + failed + "\n" + "Reason: " + failureReason + "\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
}
}