Bug 127184 New API elements missing @since
Build id: I20060208-0848 The following new API elements in Eclipse 3.2 are missing "@since 3.2" tags: org.eclipse.jdt.ui.actions.FindExceptionOccurrencesAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection) org.eclipse.jdt.ui.actions.FindImplementOccurrencesAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection) org.eclipse.jdt.ui.actions.JdtActionConstants#INTRODUCE_INDIRECTION org.eclipse.jdt.ui.jarpackager.JarPackageData#createJarWriter3(org.eclipse.swt.widgets.Shell) org.eclipse.ltk.core.refactoring.CompositeChange#getRefactoringDescriptor() org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#MISSING_REFACTORING_HISTORY_VERSION org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#UNSUPPORTED_REFACTORING_HISTORY_VERSION org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#REFACTORING_HISTORY_IO_ERROR org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#REFACTORING_HISTORY_FORMAT_ERROR org.eclipse.ltk.core.refactoring.TextChange#getPreviewContent(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup[], org.eclipse.jface.text.IRegion, boolean, int, org.eclipse.core.runtime.IProgressMonitor) org.eclipse.ltk.core.refactoring.participants.CopyArguments#toString() org.eclipse.ltk.core.refactoring.participants.CreateArguments#toString() org.eclipse.ltk.core.refactoring.participants.DeleteArguments#toString() org.eclipse.ltk.core.refactoring.participants.MoveArguments#toString() org.eclipse.ltk.core.refactoring.participants.RenameArguments#toString() org.eclipse.ltk.ui.refactoring.RefactoringUI#createLightWeightStatusDialog(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.swt.widgets.Shell, java.lang.String)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/jarpackager/JarPackageData.java
* @param inputStream	the input stream to read from
	 * @return a JarWriter
	 */
	public IJarDescriptionReader createJarDescriptionReader(InputStream inputStream) {
		return new JarPackageReader(inputStream);
	}
	
	/**
	 * Tells whether this JAR package data can be used to generate
	 * a valid JAR.
	 * 
	 * @return <code>true</code> if the JAR Package info is valid
	 */
	public boolean isValid() {
		return (areGeneratedFilesExported() || areJavaFilesExported())
			&& getElements() != null && getElements().length > 0
			&& getAbsoluteJarLocation() != null
			&& isManifestAccessible()
			&& isMainClassValid(new BusyIndicatorRunnableContext());
	}
	/**
	 * Tells whether a manifest is available.
	 * 
	 * @return <code>true</code> if the manifest is generated or the provided one is accessible
	 */
	public boolean isManifestAccessible() {
		if (isManifestGenerated())
			return true;
		IFile file= getManifestFile();
		return file != null && file.isAccessible();