if (!cesEnv().isModified()) { if (log) { ERR.fine(documentID() + " No save performed because cesEnv().isModified() == false"); // NOI18N final long externalMod = cesEnv().getTime().getTime(); if (externalMod > prevLST) { if (log) { try { setLastSaveTime(-1); os = cesEnv().outputStream(); memoryOutputStream[0].writeTo(os); setLastSaveTime(cesEnv().getTime().getTime()); } finally { if (lastSaveTime == -1) { // restore for unsuccessful save
/** Reads the object and initialize */ private void readObject (ObjectInputStream in) throws IOException, ClassNotFoundException { Object firstObject = in.readObject(); /* Get rid of backward compatibility if (firstObject instanceof DataObject) { DataObject obj = (DataObject)firstObject; support = (CloneableEditorSupport) obj.getCookie(CloneableEditorSupport.class); } else */ { // first object is environment CloneableEditorSupport.Env env = (CloneableEditorSupport.Env)firstObject; support = (CloneableEditorSupport)env.findCloneableOpenSupport (); } if (support == null) { //PENDING - what about now ? does exist better way ? throw new IOException(); } }
if (env ().isModified ()) { String msg = messageSave ();
if (cesEnv().isModified()) {
if(!env().isModified()) { return; env().getTime(); if (externallyModified) {
if (env ().isModified ()) { String msg = messageSave ();
if(!env().isModified()) { return; env().getTime(); if (externallyModified) {
InputStream is = new BufferedInputStream(env ().inputStream ()); try {
InputStream is = new BufferedInputStream(env ().inputStream ()); try {
return cesEnv().inputStream();
try { lastSaveTime = -1; os = new BufferedOutputStream(env ().outputStream()); saveFromKitToStream (myDoc, kit, os);
try { lastSaveTime = -1; os = new BufferedOutputStream(env ().outputStream()); saveFromKitToStream (myDoc, kit, os);
InputStream is = new BufferedInputStream(cesEnv().inputStream());
/** Is called under getLock () to close the document. */ private boolean doCloseDocument() { boolean fireEvent = false; // notifies the support that cesEnv().removePropertyChangeListener(getListener()); try { LOCAL_CLOSE_DOCUMENT.set(Boolean.TRUE); callNotifyUnmodified(); } finally { LOCAL_CLOSE_DOCUMENT.set(Boolean.FALSE); } StyledDocument d = getDoc(); if (d != null) { d.removeUndoableEditListener(getUndoRedo()); addRemoveDocListener(d, false); } if (positionManager != null) { positionManager.documentClosed(); } documentStatus = DOCUMENT_NO; fireEvent = true; setDoc(null, false); kit = null; getUndoRedo().discardAllEdits(); updateLineSet(true); return fireEvent; }
/** Initialization of the document. */ public void run() { // synchronized (getLock ()) { /* Remove existing listener before running the loading task * This should prevent firing of insertUpdate() during load (or reload) * which can prevent dedloks that sometimes occured during file reload. */ addRemoveDocListener(getDoc(), false); try { loadExc = null; LOCAL_LOAD_TASK.set(true); loadDocument(kit,getDoc()); } catch (IOException e) { loadExc = e; throw new DelegateIOExc(e); } finally { LOCAL_LOAD_TASK.set(null); } // opening the document, inform position manager getPositionManager().documentOpened(doc); // create new description of lines updateLineSet(true); setLastSaveTime(cesEnv().getTime().getTime()); // Start listening on changes in document addRemoveDocListener(getDoc(), true); }
/** Is called under getLock () to close the document. */ private void doCloseDocument () { prepareTask = null; // notifies the support that env ().removePropertyChangeListener(getListener()); notifyUnmodified (); if (doc != null) { doc.removeUndoableEditListener (getUndoRedo ()); doc.removeDocumentListener(getListener()); } if (positionManager != null) { positionManager.documentClosed (); documentStatus = DOCUMENT_NO; fireDocumentChange(doc, true); } documentStatus = DOCUMENT_NO; doc = null; kit = null; getUndoRedo().discardAllEdits(); updateLineSet (true); }
@Override protected void loadFromStreamToKitHook (StyledDocument doc, InputStream stream, EditorKit kit) throws IOException, BadLocationException { if (sections == null) { guardsEditor = new GuardsEditor (doc); String mimeType = ((CloneableEditorSupport.Env) this.env).getMimeType (); GuardedSectionsFactory factory = GuardedSectionsFactory.find (mimeType); sections = factory.create (guardsEditor); } else { guardsEditor.setDocument (doc); } if (sections != null) { Reader reader = sections.createGuardedReader (stream, getEncoding ()); try { kit.read (reader, doc, 0); } finally { reader.close (); } } else { super.loadFromStreamToKitHook (doc, stream, kit); } }
/** Is called under getLock () to close the document. */ private void doCloseDocument () { prepareTask = null; // notifies the support that env ().removePropertyChangeListener(getListener()); notifyUnmodified (); if (doc != null) { doc.removeUndoableEditListener (getUndoRedo ()); doc.removeDocumentListener(getListener()); } if (positionManager != null) { positionManager.documentClosed (); documentStatus = DOCUMENT_NO; fireDocumentChange(doc, true); } documentStatus = DOCUMENT_NO; doc = null; kit = null; getUndoRedo().discardAllEdits(); updateLineSet (true); }