本文整理汇总了Java中org.eclipse.core.filebuffers.FileBuffers.getTextFileBufferManager方法的典型用法代码示例。如果您正苦于以下问题:Java FileBuffers.getTextFileBufferManager方法的具体用法?Java FileBuffers.getTextFileBufferManager怎么用?Java FileBuffers.getTextFileBufferManager使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.core.filebuffers.FileBuffers
的用法示例。
在下文中一共展示了FileBuffers.getTextFileBufferManager方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: save
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
/**
* Save the AST int he Compilation Unit
*
* @param testInterface
* @param rewrite
* @throws CoreException
*/
public static void save(CompilationUnit unit, ASTRewrite rewrite) throws CoreException {
ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
IPath path = unit.getJavaElement().getPath();
try {
bufferManager.connect(path, null);
ITextFileBuffer textFileBuffer = bufferManager.getTextFileBuffer(path);
IDocument document = textFileBuffer.getDocument();
TextEdit edit = rewrite.rewriteAST(document, null);
edit.apply(document);
textFileBuffer.commit(null /* ProgressMonitor */, true /* Overwrite */);
} catch (Exception e) {
ResourceManager.logException(e);
} finally {
// disconnect the path
bufferManager.disconnect(path, null);
}
}
示例2: updateMarker
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的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();
}
}
示例3: close
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的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.FileBuffers; //导入方法依赖的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.FileBuffers; //导入方法依赖的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.FileBuffers; //导入方法依赖的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.FileBuffers; //导入方法依赖的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: processJavaSource
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
private void processJavaSource(ICompilationUnit unit) throws Exception {
ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();
IPath path = unit.getPath();
try {
bufferManager.connect(path, null);
ITextFileBuffer textFileBuffer = bufferManager.getTextFileBuffer(path);
IDocument doc = textFileBuffer.getDocument();
if ((license !=null) && (license.length() > 0)) {
processHeadLicense(doc);
}
if ((license_inline != null) && (license_inline.length() > 0)) {
processInlineLicense(doc);
}
textFileBuffer.commit(null, false);
} finally {
bufferManager.disconnect(path, null);
}
}
示例9: handleEvent
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的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);
}
}
}
}
示例10: getIFileContent
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的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: acquireDocument
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
/**
* Acquires a document from the file buffer manager.
*
* @param monitor the progress monitor to use
* @return the document
* @throws CoreException if the document could not successfully be acquired
*/
private IDocument acquireDocument(final IProgressMonitor monitor) throws CoreException {
if (fCount > 0) return fBuffer.getDocument();
final ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
final IPath path = fFile.getFullPath();
manager.connect(path, LocationKind.IFILE, monitor);
fCount++;
fBuffer = manager.getTextFileBuffer(path, LocationKind.IFILE);
final IDocument document = fBuffer.getDocument();
fContentStamp = ContentStamps.get(fFile, document);
return document;
}
示例12: getTextEdit
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
private TextEdit getTextEdit() throws CoreException {
IDocument document= null;
ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
IPath path= fCU.getPath();
if (manager != null && path != null) {
manager.connect(path, LocationKind.NORMALIZE, null);
try {
ITextFileBuffer buffer= manager.getTextFileBuffer(path, LocationKind.NORMALIZE);
if (buffer != null)
document= buffer.getDocument();
} finally {
manager.disconnect(path, LocationKind.NORMALIZE, null);
}
}
if (document == null)
document= new Document(fCU.getSource());
return fASTRewrite.rewriteAST(document, fCU.getJavaProject().getOptions(true));
}
示例13: getDocumentStamp
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
private long getDocumentStamp(IFile file, IProgressMonitor monitor) throws CoreException {
final ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
final IPath path= file.getFullPath();
monitor.beginTask("", 2); //$NON-NLS-1$
ITextFileBuffer buffer= null;
try {
manager.connect(path, LocationKind.IFILE, new SubProgressMonitor(monitor, 1));
buffer= manager.getTextFileBuffer(path, LocationKind.IFILE);
IDocument document= buffer.getDocument();
if (document instanceof IDocumentExtension4) {
return ((IDocumentExtension4)document).getModificationStamp();
} else {
return file.getModificationStamp();
}
} finally {
if (buffer != null)
manager.disconnect(path, LocationKind.IFILE, new SubProgressMonitor(monitor, 1));
monitor.done();
}
}
示例14: initialize
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
private void initialize() {
ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
try {
if (fFileStore != null) {
manager.connectFileStore(fFileStore, new NullProgressMonitor());
fTextFileBuffer= manager.getFileStoreTextFileBuffer(fFileStore);
} else {
manager.connect(fPath, fLocationKind, new NullProgressMonitor());
fTextFileBuffer= manager.getTextFileBuffer(fPath, fLocationKind);
}
fDocument= fTextFileBuffer.getDocument();
} catch (CoreException x) {
fDocument= manager.createEmptyDocument(fPath, fLocationKind);
if (fDocument instanceof ISynchronizable)
((ISynchronizable)fDocument).setLockObject(new Object());
}
fDocument.addDocumentListener(this);
fIsClosed= false;
}
示例15: close
import org.eclipse.core.filebuffers.FileBuffers; //导入方法依赖的package包/类
public void close() {
if (isClosed())
return;
IDocument d= fDocument;
fDocument= new Document();
fIsClosed= true;
d.removeDocumentListener(this);
if (fTextFileBuffer != null) {
ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
try {
if (fFileStore != null)
manager.disconnectFileStore(fFileStore, new NullProgressMonitor());
else
manager.disconnect(fPath, fLocationKind, new NullProgressMonitor());
} catch (CoreException x) {
// ignore
}
fTextFileBuffer= null;
}
fireBufferChanged(new BufferChangedEvent(this, 0, 0, null));
fBufferListeners.clear();
}