blob: 013f4b376204ce7733d2675d11a0db7ec71f3243 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 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 Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.ui.jarimport;
import java.net.URI;
import org.eclipse.ltk.core.refactoring.history.RefactoringHistory;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.ui.jarpackager.JarPackageData;
/**
* Module for a JAR file which includes refactoring information to import.
*
* @since 3.2
*/
public final class JarImportData extends JarPackageData {
/** The time stamp of the existing jar file, or <code>-1</code> if not available */
private long fExistingStamp= -1;
/** The location of the new jar file to import, or <code>null</code> */
private URI fJarFileLocation= null;
/** The package fragment root to update, or <code>null</code> */
private IPackageFragmentRoot fPackageFragmentRoot= null;
/** The refactoring history to import, or <code>null</code> */
private RefactoringHistory fRefactoringHistory= null;
/** Should the jar file be renamed to the new file name? */
private boolean fRenameJarFile= true;
/**
* Returns the time stamp of the existing jar file.
*
* @return the time stamp, or <code>-1</code> if not available
*/
public long getExistingTimeStamp() {
return fExistingStamp;
}
/**
* Returns the package fragment root to update.
*
* @return the package fragment root, or <code>null</code>
*/
public IPackageFragmentRoot getPackageFragmentRoot() {
return fPackageFragmentRoot;
}
/**
* Returns the location of the new jar file.
*
* @return the location of the new jar file, or <code>null</code>
*/
public URI getRefactoringFileLocation() {
return fJarFileLocation;
}
/**
* Returns the refactoring history.
*
* @return the refactoring history, or <code>null</code>
*/
public RefactoringHistory getRefactoringHistory() {
return fRefactoringHistory;
}
/**
* Should the jar file be renamed to the new file name?
*
* @return <code>true</code> if it should be renamed, <code>false</code>
* otherwise
*/
public boolean isRenameJarFile() {
return fRenameJarFile;
}
/**
* Sets the time stamp of the existing jar file.
*
* @param stamp
* the time stamp, or <code>-1</code> if not available
*/
public void setExistingTimeStamp(final long stamp) {
if (stamp < -1) {
throw new IllegalArgumentException();
}
fExistingStamp= stamp;
}
/**
* Sets the package fragment root to update.
*
* @param root
* the package fragment root to set, or <code>null</code>
*/
public void setPackageFragmentRoot(final IPackageFragmentRoot root) {
fPackageFragmentRoot= root;
}
/**
* Sets the location of the new jar file.
*
* @param uri
* the location of the new jar file, or <code>null</code>
*/
public void setRefactoringFileLocation(final URI uri) {
fJarFileLocation= uri;
}
/**
* Sets the refactoring history.
*
* @param history
* the refactoring history to set, or <code>null</code>
*/
public void setRefactoringHistory(final RefactoringHistory history) {
fRefactoringHistory= history;
}
/**
* Determines whether the jar file should be renamed.
*
* @param rename
* <code>true</code> to rename the jar file, <code>false</code>
* otherwise
*/
public void setRenameJarFile(final boolean rename) {
fRenameJarFile= rename;
}
}