本文整理汇总了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();
}
}
示例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;
}
示例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;
}
}
示例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);
}
}
示例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;
}
示例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());
}
}
}
示例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;
}
示例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);
}
}
}
}
示例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());
}
}
示例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;
}
示例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();
}
示例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)));
}
}
}
示例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();
}
}
示例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();
}
}
示例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();
}
}