public UnchangedElementListener(ElementInfo element) { this.element = element; if (element.fDocument instanceof IDocumentExtension4) { modificationStamp = ((IDocumentExtension4) element.fDocument).getModificationStamp(); } else { modificationStamp = IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP; } }
public static ContentStamp get(IFile file, IDocument document) { if (document instanceof IDocumentExtension4) { long stamp= ((IDocumentExtension4)document).getModificationStamp(); if (stamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP) return NULL_CONTENT_STAMP; return ContentStampImpl.createDocumentStamp(stamp, file.getModificationStamp()); } long stamp= file.getModificationStamp(); if (stamp == IResource.NULL_STAMP) return NULL_CONTENT_STAMP; return ContentStampImpl.createFileStamp(stamp); }
public static ContentStamp get(IFile file, IDocument document) { if (document instanceof IDocumentExtension4) { long stamp= ((IDocumentExtension4)document).getModificationStamp(); if (stamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP) return NULL_CONTENT_STAMP; return ContentStampImpl.createDocumentStamp(stamp, file.getModificationStamp()); } long stamp= file.getModificationStamp(); if (stamp == IResource.NULL_STAMP) return NULL_CONTENT_STAMP; return ContentStampImpl.createFileStamp(stamp); }
public static ContentStamp get(IFile file, IDocument document) { if (document instanceof IDocumentExtension4) { long stamp= ((IDocumentExtension4)document).getModificationStamp(); if (stamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP) return NULL_CONTENT_STAMP; return ContentStampImpl.createDocumentStamp(stamp, file.getModificationStamp()); } long stamp= file.getModificationStamp(); if (stamp == IResource.NULL_STAMP) return NULL_CONTENT_STAMP; return ContentStampImpl.createFileStamp(stamp); }
private void performEdit(IDocument document, long oldFileValue, LinkedList<UndoEdit> editCollector, long[] oldDocValue, boolean[] setContentStampSuccess) throws MalformedTreeException, BadLocationException, CoreException { if (document instanceof IDocumentExtension4) { oldDocValue[0]= ((IDocumentExtension4)document).getModificationStamp(); } else { oldDocValue[0]= oldFileValue; } // perform the changes for (int index= 0; index < fUndos.length; index++) { UndoEdit edit= fUndos[index]; UndoEdit redo= edit.apply(document, TextEdit.CREATE_UNDO); editCollector.addFirst(redo); } if (document instanceof IDocumentExtension4 && fDocumentStamp != IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP) { try { ((IDocumentExtension4)document).replace(0, 0, "", fDocumentStamp); //$NON-NLS-1$ setContentStampSuccess[0]= true; } catch (BadLocationException e) { throw wrapBadLocationException(e); } } } }
@Override public boolean canRedo() { if (isValid()) { if (fDocumentUndoManager.fDocument instanceof IDocumentExtension4) { long docStamp= ((IDocumentExtension4) fDocumentUndoManager.fDocument) .getModificationStamp(); return docStamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP || docStamp == getUndoModificationStamp(); } // if there is no timestamp to check, simply return true per the // 3.0.1 behavior return true; } return false; }
@Override public boolean canRedo() { if (isValid()) { if (fDocumentUndoManager.fDocument instanceof IDocumentExtension4) { long docStamp= ((IDocumentExtension4) fDocumentUndoManager.fDocument) .getModificationStamp(); return docStamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP || docStamp == getUndoModificationStamp(); } // if there is no timestamp to check, simply return true per the // 3.0.1 behavior return true; } return false; }
/** * Recalcs pairs for the document, only if it is required */ private void updatePairs() throws BadLocationException { if (fDocument instanceof IDocumentExtension4) { IDocumentExtension4 document = (IDocumentExtension4) fDocument; if (document.getModificationStamp() == cachedStamp) { return; } } else { String content = fDocument.get(0, fDocument.getLength()); if (content.hashCode() == cachedHash) { return; } } recalc(); }
/** * Fully recalcs pairs for document * * @param doc * @throws BadLocationException */ private void recalc() throws BadLocationException { String content = fDocument.get(0, fDocument.getLength()); cachedPairs = computePairRanges(0, content); if (fDocument instanceof IDocumentExtension4) { cachedStamp = ((IDocumentExtension4) fDocument).getModificationStamp(); } else { cachedHash = content.hashCode(); } }
@Override public boolean canRedo() { if (isConnected() && isValid()) { IDocument doc= fTextViewer.getDocument(); if (doc instanceof IDocumentExtension4) { long docStamp= ((IDocumentExtension4)doc).getModificationStamp(); return docStamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP || docStamp == getUndoModificationStamp(); } // if there is no timestamp to check, simply return true per the 3.0.1 behavior return true; } return false; }
@Override public boolean canRedo() { if (isConnected() && isValid()) { IDocument doc= fTextViewer.getDocument(); if (doc instanceof IDocumentExtension4) { long docStamp= ((IDocumentExtension4)doc).getModificationStamp(); return docStamp == IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP || docStamp == getUndoModificationStamp(); } // if there is no timestamp to check, simply return true per the 3.0.1 behavior return true; } return false; }
public long getModificationStamp(IResource resource) { if (!(resource instanceof IFile)) return resource.getModificationStamp(); IFile file= (IFile)resource; ITextFileBuffer buffer= getBuffer(file); if (buffer == null) { return file.getModificationStamp(); } else { IDocument document= buffer.getDocument(); if (document instanceof IDocumentExtension4) { return ((IDocumentExtension4)document).getModificationStamp(); } else { return file.getModificationStamp(); } } }
private long getModificationStamp(IResource resource) { if (!(resource instanceof IFile)) return resource.getModificationStamp(); IFile file= (IFile)resource; ITextFileBuffer buffer= getBuffer(file); if (buffer == null) { return file.getModificationStamp(); } else { IDocument document= buffer.getDocument(); if (document instanceof IDocumentExtension4) { return ((IDocumentExtension4)document).getModificationStamp(); } else { return file.getModificationStamp(); } } }
private long getModificationStamp(IResource resource) { if (!(resource instanceof IFile)) return resource.getModificationStamp(); IFile file= (IFile)resource; ITextFileBuffer buffer= getBuffer(file); if (buffer == null) { return file.getModificationStamp(); } else { IDocument document= buffer.getDocument(); if (document instanceof IDocumentExtension4) { return ((IDocumentExtension4)document).getModificationStamp(); } else { return file.getModificationStamp(); } } }
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(); } }
private void initializeFile(IFile file) { fTextFileBuffer= getBuffer(file); if (fTextFileBuffer == null) { initializeResource(file); } else { IDocument document= fTextFileBuffer.getDocument(); fDirty= fTextFileBuffer.isDirty(); fReadOnly= Resources.isReadOnly(file); if (document instanceof IDocumentExtension4) { fKind= DOCUMENT; fModificationStamp= ((IDocumentExtension4) document).getModificationStamp(); } else { fKind= RESOURCE; fModificationStamp= file.getModificationStamp(); } } }
private void initializeFile(IFile file) { fTextFileBuffer= getBuffer(file); if (fTextFileBuffer == null) { initializeResource(file); } else { IDocument document= fTextFileBuffer.getDocument(); fDirty= fTextFileBuffer.isDirty(); fReadOnly= Resources.isReadOnly(file); if (document instanceof IDocumentExtension4) { fKind= DOCUMENT; fModificationStamp= ((IDocumentExtension4) document).getModificationStamp(); } else { fKind= RESOURCE; fModificationStamp= file.getModificationStamp(); } } }
protected ModificationStamp getModificationStamp() { ITextFileBuffer buffer= getBuffer(fFile); if (buffer == null) { return ModificationStamp.createFile(fFile.getModificationStamp()); } else { IDocument document= buffer.getDocument(); if (document instanceof IDocumentExtension4) { return ModificationStamp.createDocument(((IDocumentExtension4)document).getModificationStamp()); } else { return ModificationStamp.createFile(fFile.getModificationStamp()); } } } }
protected ModificationStamp getModificationStamp() { ITextFileBuffer buffer= getBuffer(fFile); if (buffer == null) { return ModificationStamp.createFile(fFile.getModificationStamp()); } else { IDocument document= buffer.getDocument(); if (document instanceof IDocumentExtension4) { return ModificationStamp.createDocument(((IDocumentExtension4)document).getModificationStamp()); } else { return ModificationStamp.createFile(fFile.getModificationStamp()); } } } }
protected ModificationStamp getModificationStamp() { ITextFileBuffer buffer= getBuffer(fFile); if (buffer == null) { return ModificationStamp.createFile(fFile.getModificationStamp()); } else { IDocument document= buffer.getDocument(); if (document instanceof IDocumentExtension4) { return ModificationStamp.createDocument(((IDocumentExtension4)document).getModificationStamp()); } else { return ModificationStamp.createFile(fFile.getModificationStamp()); } } } }