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


Java FileBuffers.getTextFileBufferManager方法代码示例

本文整理汇总了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);
	}
}
 
开发者ID:gw4e,项目名称:gw4e.project,代码行数:26,代码来源:JDTManager.java

示例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();
	}
}
 
开发者ID:angelozerr,项目名称:ec4e,代码行数:27,代码来源:ValidateEditorConfigStrategy.java

示例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;
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:26,代码来源:DocumentAdapter.java

示例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);
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:19,代码来源:DocumentAdapter.java

示例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;
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:31,代码来源:JsonRpcHelpers.java

示例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());
		}
	}
}
 
开发者ID:cchabanois,项目名称:mesfavoris,代码行数:22,代码来源:DocumentUtils.java

示例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;
}
 
开发者ID:angelozerr,项目名称:typescript.java,代码行数:20,代码来源:EditorUtils.java

示例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);
	}
}
 
开发者ID:alexgreenbar,项目名称:open_tools,代码行数:19,代码来源:SampleAction.java

示例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);
      }
    }
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:27,代码来源:ProjectListeners.java

示例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;
}
 
开发者ID:eclipse,项目名称:che,代码行数:24,代码来源:JavadocContentAccess2.java

示例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;
}
 
开发者ID:eclipse,项目名称:che,代码行数:24,代码来源:MultiStateTextFileChange.java

示例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));
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:23,代码来源:AccessorClassModifier.java

示例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();
 }
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:24,代码来源:CleanUpPostSaveListener.java

示例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;
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:20,代码来源:DocumentAdapter.java

示例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();
	}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:27,代码来源:DocumentAdapter.java


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