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


Java LocationKind类代码示例

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


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

示例1: updateMarker

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
private void updateMarker(IResource resource, String message, int start, int end, int severity,
		IMarker marker) {
	try {
		marker.setAttribute(IMarker.MESSAGE, message);
		marker.setAttribute(IMarker.SEVERITY, severity);
		if (resource.getType() != IResource.FILE) {
			return;
		}
		IFile file = (IFile) resource;
		ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
		ITextFileBuffer textFileBuffer = manager.getTextFileBuffer(file.getFullPath(), LocationKind.IFILE);

		if (textFileBuffer == null) {
			manager.connect(file.getFullPath(), LocationKind.IFILE, new NullProgressMonitor());
			textFileBuffer = manager.getTextFileBuffer(file.getFullPath(), LocationKind.IFILE);
		}

		IDocument document = textFileBuffer.getDocument();

		marker.setAttribute(IMarker.CHAR_START, start);
		marker.setAttribute(IMarker.CHAR_END, end);
		marker.setAttribute(IMarker.LINE_NUMBER, document.getLineOfOffset(start) + 1);
	} catch (CoreException | BadLocationException e) {
		e.printStackTrace();
	}
}
 
开发者ID:angelozerr,项目名称:ec4e,代码行数:27,代码来源:ValidateEditorConfigStrategy.java

示例2: getExistingMarkerFor

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
private IMarker getExistingMarkerFor(IResource resource, String message, int start, int end,
		Set<IMarker> remainingMarkers) {
	ITextFileBuffer textFileBuffer = FileBuffers.getTextFileBufferManager()
			.getTextFileBuffer(resource.getFullPath(), LocationKind.IFILE);
	if (textFileBuffer == null) {
		return null;
	}
	try {
		for (IMarker marker : remainingMarkers) {
			int startOffset = MarkerUtilities.getCharStart(marker);
			int endOffset = MarkerUtilities.getCharEnd(marker);
			if (MarkerUtils.getOptionType(marker) == null && message.equals(MarkerUtilities.getMessage(marker))) {
				if (start <= startOffset && end >= endOffset) {
					return marker;
				}
			}
		}
	} catch (CoreException e) {
		e.printStackTrace();
	}
	return null;
}
 
开发者ID:angelozerr,项目名称:ec4e,代码行数:23,代码来源:ValidateEditorConfigStrategy.java

示例3: close

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
@Override
public void close() {
	synchronized (lock) {
		if (fIsClosed) {
			return;
		}

		fIsClosed= true;
		fDocument.removeDocumentListener(this);

		if (fTextFileBuffer != null) {
			try {
				ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
				manager.disconnect(fFile.getFullPath(), LocationKind.NORMALIZE, null);
			} catch (CoreException x) {
				// ignore
			}
			fTextFileBuffer= null;
		}

		fireBufferChanged(new BufferChangedEvent(this, 0, 0, null));
		fBufferListeners.clear();
		fDocument = null;
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:26,代码来源:DocumentAdapter.java

示例4: setContents

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
@Override
public void setContents(String contents) {
	synchronized (lock) {
		if (fDocument == null) {
			if (fTextFileBuffer != null) {
				fDocument = fTextFileBuffer.getDocument();
			} else {
				ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
				fDocument =  manager.createEmptyDocument(fFile.getFullPath(), LocationKind.IFILE);
			}
			fDocument.addDocumentListener(this);
			((ISynchronizable)fDocument).setLockObject(lock);
		}
	}
	if (!contents.equals(fDocument.get())) {
		fDocument.set(contents);
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:19,代码来源:DocumentAdapter.java

示例5: toDocument

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
/**
 * Returns an {@link IDocument} for the given {@link IFile}.
 *
 * @param file an {@link IFile}
 * @return a document with the contents of the file,
 * or <code>null</code> if the file can not be opened.
 */
public static IDocument toDocument(IFile file) {
	if (file != null && file.isAccessible()) {
		IPath path = file.getFullPath();
		ITextFileBufferManager fileBufferManager = FileBuffers.getTextFileBufferManager();
		LocationKind kind = LocationKind.IFILE;
		try {
			fileBufferManager.connect(path, kind, new NullProgressMonitor());
			ITextFileBuffer fileBuffer = fileBufferManager.getTextFileBuffer(path, kind);
			if (fileBuffer != null) {
				return fileBuffer.getDocument();
			}
		} catch (CoreException e) {
			JavaLanguageServerPlugin.logException("Failed to convert "+ file +"  to an IDocument", e);
		} finally {
			try {
				fileBufferManager.disconnect(path, kind, new NullProgressMonitor());
			} catch (CoreException slurp) {
				//Don't care
			}
		}
	}
	return null;
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:31,代码来源:JsonRpcHelpers.java

示例6: getDocument

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
public static IDocument getDocument(IPath fileSystemPath) throws CoreException {
	ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
	boolean connected = false;
	try {
		ITextFileBuffer buffer = manager.getTextFileBuffer(fileSystemPath, LocationKind.NORMALIZE);
		if (buffer == null) {
			// no existing file buffer..create one
			manager.connect(fileSystemPath, LocationKind.NORMALIZE, new NullProgressMonitor());
			connected = true;
			buffer = manager.getTextFileBuffer(fileSystemPath, LocationKind.NORMALIZE);
			if (buffer == null) {
				return null;
			}
		}
		return buffer.getDocument();
	} finally {
		if (connected) {
			manager.disconnect(fileSystemPath, LocationKind.NORMALIZE, new NullProgressMonitor());
		}
	}
}
 
开发者ID:cchabanois,项目名称:mesfavoris,代码行数:22,代码来源:DocumentUtils.java

示例7: getPosition

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
public static Position getPosition(IFile file, TextSpan textSpan) throws BadLocationException {
	ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
	ITextFileBuffer buffer = bufferManager.getTextFileBuffer(file.getLocation(), LocationKind.IFILE);
	if (buffer != null) {
		return getPosition(buffer.getDocument(), textSpan);
	}
	IDocumentProvider provider = new TextFileDocumentProvider();
	try {
		provider.connect(file);
		IDocument document = provider.getDocument(file);
		if (document != null) {
			return getPosition(document, textSpan);
		}
	} catch (CoreException e) {
	} finally {
		provider.disconnect(file);
	}
	return null;
}
 
开发者ID:angelozerr,项目名称:typescript.java,代码行数:20,代码来源:EditorUtils.java

示例8: handleEvent

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
public void handleEvent(ProjectItemModifiedEvent event) {
  final String eventPath = event.getPath();
  if (!isJavaProject(event.getProject())) {
    return;
  }
  try {
    JavaModelManager.getJavaModelManager()
        .deltaState
        .resourceChanged(new ResourceChangedEvent(workspace, event));
  } catch (Throwable t) {
    // catch all exceptions that may be happened
    LOG.error("Can't update java model in " + eventPath, t);
  }
  if (event.getType() == ProjectItemModifiedEvent.EventType.UPDATED) {
    ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
    ITextFileBuffer fileBuffer =
        manager.getTextFileBuffer(new Path(eventPath), LocationKind.IFILE);
    if (fileBuffer != null) {
      try {
        fileBuffer.revert(new NullProgressMonitor());
      } catch (CoreException e) {
        LOG.error("Can't read file content: " + eventPath, e);
      }
    }
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:27,代码来源:ProjectListeners.java

示例9: getIndentationLevel

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
public static int getIndentationLevel(ASTNode node, ICompilationUnit unit) throws CoreException {
  IPath fullPath = unit.getCorrespondingResource().getFullPath();
  try {
    FileBuffers.getTextFileBufferManager()
        .connect(fullPath, LocationKind.IFILE, new NullProgressMonitor());
    ITextFileBuffer buffer =
        FileBuffers.getTextFileBufferManager().getTextFileBuffer(fullPath, LocationKind.IFILE);
    try {
      IRegion region = buffer.getDocument().getLineInformationOfOffset(node.getStartPosition());
      return Strings.computeIndentUnits(
          buffer.getDocument().get(region.getOffset(), region.getLength()),
          unit.getJavaProject());
    } catch (BadLocationException exception) {
      JavaPlugin.log(exception);
    }
    return 0;
  } finally {
    FileBuffers.getTextFileBufferManager()
        .disconnect(fullPath, LocationKind.IFILE, new NullProgressMonitor());
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:22,代码来源:CodeRefactoringUtil.java

示例10: getIFileContent

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
/**
 * Reads the content of the IFile.
 *
 * @param file the file whose content has to be read
 * @return the content of the file
 * @throws CoreException if the file could not be successfully connected or disconnected
 */
private static String getIFileContent(IFile file) throws CoreException {
  String content = null;
  ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
  IPath fullPath = file.getFullPath();
  manager.connect(fullPath, LocationKind.IFILE, null);
  try {
    ITextFileBuffer buffer = manager.getTextFileBuffer(fullPath, LocationKind.IFILE);
    if (buffer != null) {
      content = buffer.getDocument().get();
    }
  } finally {
    manager.disconnect(fullPath, LocationKind.IFILE, null);
  }

  return content;
}
 
开发者ID:eclipse,项目名称:che,代码行数:24,代码来源:JavadocContentAccess2.java

示例11: disconnect

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
public void disconnect(IPath location, LocationKind locationKind, IProgressMonitor monitor)
    throws CoreException {
  Assert.isNotNull(location);
  if (locationKind == LocationKind.NORMALIZE) location = normalizeLocation(location);

  AbstractFileBuffer fileBuffer;
  synchronized (fFilesBuffers) {
    fileBuffer = internalGetFileBuffer(location);
    if (fileBuffer == null) return;

    fileBuffer.disconnect();
    if (!fileBuffer.isDisconnected()) return;

    fFilesBuffers.remove(location);
  }

  // Do notification outside synchronized block
  fireBufferDisposed(fileBuffer);
  fileBuffer.dispose();
}
 
开发者ID:eclipse,项目名称:che,代码行数:21,代码来源:TextFileBufferManager.java

示例12: checkDirtyFile

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
private void checkDirtyFile(RefactoringStatus result, IFile file) {
  if (!file.exists()) return;
  ITextFileBuffer buffer =
      FileBuffers.getTextFileBufferManager()
          .getTextFileBuffer(file.getFullPath(), LocationKind.IFILE);
  if (buffer != null && buffer.isDirty()) {
    String message = RefactoringCoreMessages.DeleteResourcesProcessor_warning_unsaved_file;
    if (buffer.isStateValidated() && buffer.isSynchronized()) {
      result.addWarning(
          Messages.format(message, BasicElementLabels.getPathLabel(file.getFullPath(), false)));
    } else {
      result.addFatalError(
          Messages.format(message, BasicElementLabels.getPathLabel(file.getFullPath(), false)));
    }
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:17,代码来源:DeleteResourcesProcessor.java

示例13: isValid

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
/** {@inheritDoc} */
public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
  if (pm == null) pm = new NullProgressMonitor();
  pm.beginTask("", 1); // $NON-NLS-1$
  try {
    if (fValidationState == null)
      throw new CoreException(
          new Status(
              IStatus.ERROR,
              RefactoringCorePlugin.getPluginId(),
              "MultiStateUndoChange has not been initialialized")); // $NON-NLS-1$

    ITextFileBuffer buffer =
        FileBuffers.getTextFileBufferManager()
            .getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE);
    fDirty = buffer != null && buffer.isDirty();
    return fValidationState.isValid(needsSaving(), true);
  } finally {
    pm.done();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:22,代码来源:MultiStateUndoChange.java

示例14: saveFileIfNeeded

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
private static void saveFileIfNeeded(IFile file, IProgressMonitor pm) throws CoreException {
  ITextFileBuffer buffer =
      FileBuffers.getTextFileBufferManager()
          .getTextFileBuffer(file.getFullPath(), LocationKind.IFILE);
  if (buffer != null
      && buffer.isDirty()
      && buffer.isStateValidated()
      && buffer.isSynchronized()) {
    pm.beginTask("", 2); // $NON-NLS-1$
    buffer.commit(new SubProgressMonitor(pm, 1), false);
    file.refreshLocal(IResource.DEPTH_ONE, new SubProgressMonitor(pm, 1));
    pm.done();
  } else {
    pm.beginTask("", 1); // $NON-NLS-1$
    pm.worked(1);
    pm.done();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:19,代码来源:DeleteResourceChange.java

示例15: isValid

import org.eclipse.core.filebuffers.LocationKind; //导入依赖的package包/类
/** {@inheritDoc} */
public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
  if (pm == null) pm = new NullProgressMonitor();
  pm.beginTask("", 1); // $NON-NLS-1$
  try {
    if (fValidationState == null)
      throw new CoreException(
          new Status(
              IStatus.ERROR,
              RefactoringCorePlugin.getPluginId(),
              "UndoTextFileChange has not been initialialized")); // $NON-NLS-1$

    ITextFileBuffer buffer =
        FileBuffers.getTextFileBufferManager()
            .getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE);
    fDirty = buffer != null && buffer.isDirty();
    return fValidationState.isValid(needsSaving(), true);
  } finally {
    pm.done();
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:22,代码来源:UndoTextFileChange.java


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