当前位置: 首页>>代码示例>>Java>>正文


Java NullChange类代码示例

本文整理汇总了Java中org.eclipse.ltk.core.refactoring.NullChange的典型用法代码示例。如果您正苦于以下问题:Java NullChange类的具体用法?Java NullChange怎么用?Java NullChange使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


NullChange类属于org.eclipse.ltk.core.refactoring包,在下文中一共展示了NullChange类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: perform

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
public Change perform(IProgressMonitor pm) throws CoreException {
  try {
    pm.beginTask(RefactoringCoreMessages.CreatePackageChange_Creating_package, 1);

    if (fPackageFragment.exists()) {
      return new NullChange();
    } else {
      IPackageFragmentRoot root = (IPackageFragmentRoot) fPackageFragment.getParent();
      root.createPackageFragment(fPackageFragment.getElementName(), false, pm);

      return new DeleteResourceChange(fPackageFragment.getPath(), true);
    }
  } finally {
    pm.done();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:18,代码来源:CreatePackageChange.java

示例2: perform

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
public Change perform(IProgressMonitor pm) throws CoreException {
  pm.beginTask(RefactoringCoreMessages.ClasspathChange_progress_message, 1);
  try {
    if (!JavaConventions.validateClasspath(fProject, fNewClasspath, fOutputLocation)
        .matches(IStatus.ERROR)) {
      IClasspathEntry[] oldClasspath = fProject.getRawClasspath();
      IPath oldOutputLocation = fProject.getOutputLocation();

      fProject.setRawClasspath(fNewClasspath, fOutputLocation, new SubProgressMonitor(pm, 1));

      return new ClasspathChange(fProject, oldClasspath, oldOutputLocation);
    } else {
      return new NullChange();
    }
  } finally {
    pm.done();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:20,代码来源:ClasspathChange.java

示例3: createUndoChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
protected Change createUndoChange(long stampToRestore) throws CoreException {
  IPackageFragment pack = getPackage();
  if (pack == null) return new NullChange();
  Map<IResource, Long> stamps = new HashMap<IResource, Long>();
  if (!fRenameSubpackages) {
    addStamps(stamps, pack.getCompilationUnits());
  } else {
    IPackageFragment[] allPackages = JavaElementUtil.getPackageAndSubpackages(pack);
    for (int i = 0; i < allPackages.length; i++) {
      IPackageFragment currentPackage = allPackages[i];
      addStamps(stamps, currentPackage.getCompilationUnits());
    }
  }
  return new RenamePackageChange(
      createNewPath(), getNewName(), getOldName(), stampToRestore, stamps, fRenameSubpackages);
  // Note: This reverse change only works if the renamePackage change did
  // not merge the source package into an existing target.
}
 
开发者ID:eclipse,项目名称:che,代码行数:20,代码来源:RenamePackageChange.java

示例4: perform

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
public Change perform(IProgressMonitor pm) throws CoreException {
	try {
		pm.beginTask(RefactoringCoreMessages.CreatePackageChange_Creating_package, 1);

		if (fPackageFragment.exists()) {
			return new NullChange();
		} else {
			IPackageFragmentRoot root= (IPackageFragmentRoot) fPackageFragment.getParent();
			root.createPackageFragment(fPackageFragment.getElementName(), false, pm);

			return new DeleteResourceChange(fPackageFragment.getPath(), true);
		}
	} finally {
		pm.done();
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:18,代码来源:CreatePackageChange.java

示例5: perform

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
public Change perform(IProgressMonitor pm) throws CoreException {
	pm.beginTask(RefactoringCoreMessages.ClasspathChange_progress_message, 1);
	try {
		if (!JavaConventions.validateClasspath(fProject, fNewClasspath, fOutputLocation).matches(IStatus.ERROR)) {
			IClasspathEntry[] oldClasspath= fProject.getRawClasspath();
			IPath oldOutputLocation= fProject.getOutputLocation();

			fProject.setRawClasspath(fNewClasspath, fOutputLocation, new SubProgressMonitor(pm, 1));

			return new ClasspathChange(fProject, oldClasspath, oldOutputLocation);
		} else {
			return new NullChange();
		}
	} finally {
		pm.done();
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:19,代码来源:ClasspathChange.java

示例6: createUndoChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
protected Change createUndoChange(long stampToRestore) throws CoreException {
	IPackageFragment pack= getPackage();
	if (pack == null)
		return new NullChange();
	Map<IResource, Long> stamps= new HashMap<IResource, Long>();
	if (!fRenameSubpackages) {
		addStamps(stamps, pack.getCompilationUnits());
	} else {
		IPackageFragment[] allPackages= JavaElementUtil.getPackageAndSubpackages(pack);
		for (int i= 0; i < allPackages.length; i++) {
			IPackageFragment currentPackage= allPackages[i];
			addStamps(stamps, currentPackage.getCompilationUnits());
		}
	}
	return new RenamePackageChange(createNewPath(), getNewName(), getOldName(), stampToRestore, stamps, fRenameSubpackages);
	// Note: This reverse change only works if the renamePackage change did
	// not merge the source package into an existing target.
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:20,代码来源:RenamePackageChange.java

示例7: createCopyResourceChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
private static Change createCopyResourceChange(
    IResource resource,
    NewNameProposer nameProposer,
    INewNameQueries copyQueries,
    IContainer destination) {
  if (resource == null || destination == null) return new NullChange();
  INewNameQuery nameQuery;
  String name = nameProposer.createNewName(resource, destination);
  if (name == null) nameQuery = copyQueries.createNullQuery();
  else nameQuery = copyQueries.createNewResourceNameQuery(resource, name);
  return new CopyResourceChange(resource, destination, nameQuery);
}
 
开发者ID:eclipse,项目名称:che,代码行数:13,代码来源:ReorgPolicyFactory.java

示例8: createChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
private Change createChange(ICompilationUnit cu) {
  IPackageFragment pack = getDestinationAsPackageFragment();
  if (pack != null) return moveCuToPackage(cu, pack);
  IContainer container = getDestinationAsContainer();
  if (container == null) return new NullChange();
  return moveFileToContainer(cu, container);
}
 
开发者ID:eclipse,项目名称:che,代码行数:8,代码来源:ReorgPolicyFactory.java

示例9: createDeleteChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
private static Change createDeleteChange(IJavaElement javaElement) throws JavaModelException {
  Assert.isTrue(!ReorgUtils.isInsideCompilationUnit(javaElement));

  switch (javaElement.getElementType()) {
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
      return createPackageFragmentRootDeleteChange((IPackageFragmentRoot) javaElement);

    case IJavaElement.PACKAGE_FRAGMENT:
      return createSourceManipulationDeleteChange((IPackageFragment) javaElement);

    case IJavaElement.COMPILATION_UNIT:
      return createSourceManipulationDeleteChange((ICompilationUnit) javaElement);

    case IJavaElement.CLASS_FILE:
      // if this assert fails, it means that a precondition is missing
      Assert.isTrue(((IClassFile) javaElement).getResource() instanceof IFile);
      return createDeleteChange(((IClassFile) javaElement).getResource());

    case IJavaElement.JAVA_MODEL: // cannot be done
      Assert.isTrue(false);
      return null;

    case IJavaElement.JAVA_PROJECT: // handled differently
      Assert.isTrue(false);
      return null;

    case IJavaElement.TYPE:
    case IJavaElement.FIELD:
    case IJavaElement.METHOD:
    case IJavaElement.INITIALIZER:
    case IJavaElement.PACKAGE_DECLARATION:
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
      Assert.isTrue(false); // not done here
      return new NullChange();
    default:
      Assert.isTrue(false); // there's no more kinds
      return new NullChange();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:41,代码来源:DeleteChangeCreator.java

示例10: doDelete

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
protected Change doDelete(IProgressMonitor pm) throws CoreException {
  ISourceManipulation element = getSourceManipulation();
  // we have to save dirty compilation units before deleting them. Otherwise
  // we will end up showing ghost compilation units in the package explorer
  // since the primary working copy still exists.
  if (element instanceof ICompilationUnit) {
    pm.beginTask("", 2); // $NON-NLS-1$
    ICompilationUnit unit = (ICompilationUnit) element;
    saveCUnitIfNeeded(unit, new SubProgressMonitor(pm, 1));

    IResource resource = unit.getResource();
    ResourceDescription resourceDescription = ResourceDescription.fromResource(resource);
    element.delete(false, new SubProgressMonitor(pm, 1));
    resourceDescription.recordStateFromHistory(resource, new SubProgressMonitor(pm, 1));
    return new UndoDeleteResourceChange(resourceDescription);

  } else if (element instanceof IPackageFragment) {
    ICompilationUnit[] units = ((IPackageFragment) element).getCompilationUnits();
    pm.beginTask("", units.length + 1); // $NON-NLS-1$
    for (int i = 0; i < units.length; i++) {
      // fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=66835
      saveCUnitIfNeeded(units[i], new SubProgressMonitor(pm, 1));
    }
    element.delete(false, new SubProgressMonitor(pm, 1));
    return new NullChange(); // caveat: real undo implemented by UndoablePackageDeleteChange

  } else {
    element.delete(false, pm);
    return null; // should not happen
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:33,代码来源:DeleteSourceManipulationChange.java

示例11: perform

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
/** {@inheritDoc} */
public Change perform(IProgressMonitor pm) throws CoreException {
  if (fValidationState == null || fValidationState.isValid(needsSaving(), false).hasFatalError())
    return new NullChange();
  if (pm == null) pm = new NullProgressMonitor();
  ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
  pm.beginTask("", 2); // $NON-NLS-1$
  ITextFileBuffer buffer = null;
  try {
    manager.connect(fFile.getFullPath(), LocationKind.IFILE, new SubProgressMonitor(pm, 1));
    buffer = manager.getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE);
    IDocument document = buffer.getDocument();
    ContentStamp currentStamp = ContentStamps.get(fFile, document);
    // perform the changes
    LinkedList list = new LinkedList();
    for (int index = 0; index < fUndos.length; index++) {
      UndoEdit edit = fUndos[index];
      UndoEdit redo = edit.apply(document, TextEdit.CREATE_UNDO);
      list.addFirst(redo);
    }

    // try to restore the document content stamp
    boolean success = ContentStamps.set(document, fContentStampToRestore);
    if (needsSaving()) {
      buffer.commit(pm, false);
      if (!success) {
        // We weren't able to restore document stamp.
        // Since we save restore the file stamp instead
        ContentStamps.set(fFile, fContentStampToRestore);
      }
    }
    return createUndoChange((UndoEdit[]) list.toArray(new UndoEdit[list.size()]), currentStamp);
  } catch (BadLocationException e) {
    throw Changes.asCoreException(e);
  } finally {
    if (buffer != null)
      manager.disconnect(fFile.getFullPath(), LocationKind.IFILE, new SubProgressMonitor(pm, 1));
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:40,代码来源:MultiStateUndoChange.java

示例12: createChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
@Override
public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {

	try {
		pm.beginTask(Messages.ForEachLoopToLambdaRefactoring_CreatingChange, 1);

		return new NullChange(getName());
	} finally {
		pm.done();
	}
}
 
开发者ID:mdarefin,项目名称:Convert-For-Each-Loop-to-Lambda-Expression-Eclipse-Plugin,代码行数:12,代码来源:ForeachLoopToLambdaRefactoring.java

示例13: createCopyResourceChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
private static Change createCopyResourceChange(IResource resource, NewNameProposer nameProposer, INewNameQueries copyQueries, IContainer destination) {
	if (resource == null || destination == null)
		return new NullChange();
	INewNameQuery nameQuery;
	String name= nameProposer.createNewName(resource, destination);
	if (name == null)
		nameQuery= copyQueries.createNullQuery();
	else
		nameQuery= copyQueries.createNewResourceNameQuery(resource, name);
	return new CopyResourceChange(resource, destination, nameQuery);
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:12,代码来源:ReorgPolicyFactory.java

示例14: createChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
private Change createChange(ICompilationUnit cu) {
	IPackageFragment pack= getDestinationAsPackageFragment();
	if (pack != null)
		return moveCuToPackage(cu, pack);
	IContainer container= getDestinationAsContainer();
	if (container == null)
		return new NullChange();
	return moveFileToContainer(cu, container);
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:10,代码来源:ReorgPolicyFactory.java

示例15: createDeleteChange

import org.eclipse.ltk.core.refactoring.NullChange; //导入依赖的package包/类
private static Change createDeleteChange(IJavaElement javaElement) throws JavaModelException {
	Assert.isTrue(! ReorgUtils.isInsideCompilationUnit(javaElement));

	switch(javaElement.getElementType()){
		case IJavaElement.PACKAGE_FRAGMENT_ROOT:
			return createPackageFragmentRootDeleteChange((IPackageFragmentRoot)javaElement);

		case IJavaElement.PACKAGE_FRAGMENT:
			return createSourceManipulationDeleteChange((IPackageFragment)javaElement);

		case IJavaElement.COMPILATION_UNIT:
			return createSourceManipulationDeleteChange((ICompilationUnit)javaElement);

		case IJavaElement.CLASS_FILE:
			//if this assert fails, it means that a precondition is missing
			Assert.isTrue(((IClassFile)javaElement).getResource() instanceof IFile);
			return createDeleteChange(((IClassFile)javaElement).getResource());

		case IJavaElement.JAVA_MODEL: //cannot be done
			Assert.isTrue(false);
			return null;

		case IJavaElement.JAVA_PROJECT: //handled differently
			Assert.isTrue(false);
			return null;

		case IJavaElement.TYPE:
		case IJavaElement.FIELD:
		case IJavaElement.METHOD:
		case IJavaElement.INITIALIZER:
		case IJavaElement.PACKAGE_DECLARATION:
		case IJavaElement.IMPORT_CONTAINER:
		case IJavaElement.IMPORT_DECLARATION:
			Assert.isTrue(false);//not done here
			return new NullChange();
		default:
			Assert.isTrue(false);//there's no more kinds
			return new NullChange();
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:41,代码来源:DeleteChangeCreator.java


注:本文中的org.eclipse.ltk.core.refactoring.NullChange类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。