private static synchronized void removeStreamPools(StreamPool fsPool, StreamPool foPool, AbstractFolder fo) { boolean isIStreamEmpty = ((foPool == null) || (foPool.iStreams == null) || foPool.iStreams.isEmpty()); boolean isOStreamEmpty = ((foPool == null) || (foPool.oStreams == null) || foPool.oStreams.isEmpty()); if (isIStreamEmpty && isOStreamEmpty) { fo2StreamPool.remove(fo); } isIStreamEmpty = ((fsPool == null) || (fsPool.iStreams == null) || fsPool.iStreams.isEmpty()); isOStreamEmpty = ((fsPool == null) || (fsPool.oStreams == null) || fsPool.oStreams.isEmpty()); if (isIStreamEmpty && isOStreamEmpty) { fs2StreamPool.remove(fo.getFileSystem()); } }
public final boolean isValid() { // valid if (parent == null) { return this == system.getRoot(); } boolean isValidRoot = getFileSystem().getRoot() == validRoot; return validFlag && isValidRoot; }
/** Retrieve file or folder contained in this folder by name. * <em>Note</em> that neither file nor folder is created on disk. * @param name basename of the file or folder (in this folder) * @param ext extension of the file; <CODE>null</CODE> or <code>""</code> * if the file should have no extension or if folder is requested * @return the object representing this file or <CODE>null</CODE> if the file * or folder does not exist * @exception IllegalArgumentException if <code>this</code> is not a folder */ @Override public final FileObject getFileObject(String name, String ext) { getFileSystem().waitRefreshed(); return getFileObjectImpl(name, ext); }
/** @return true if there is a listener */ protected final boolean hasListeners() { boolean fsHas = getFileSystem().getFCLSupport().hasListeners(); boolean repHas = false; Repository rep = getFileSystem().getRepository(); if (rep != null) { repHas = rep.getFCLSupport().hasListeners(); } return (listeners != null && listeners.hasListeners()) || repHas || fsHas; }
private static void closeInputStream(AbstractFolder fo, InputStream is) { StreamPool foPool = find(fo); StreamPool fsPool = find(fo.getFileSystem()); Set foSet = (foPool != null) ? foPool.iStreams : null; Set fsSet = (fsPool != null) ? fsPool.iStreams : null; removeStreams(fsSet, foSet, is); removeStreamPools(fsPool, foPool, fo); }
@Override public String toString() { if (!isValid()) { return super.toString() + " parent: " + parent + " validFlag: " + validFlag + " validRoot: " + validRoot + " isValidRoot: " + (getFileSystem().getRoot() == validRoot); } return super.toString(); }
) { try { getFileSystem().beginAtomicAction(); fire && (added == null) && (removed == null) && !getFileSystem().isReadOnly() && !(this instanceof MultiFileObject) ) { getFileSystem().finishAtomicAction();
/** fireFileChange defines if should be fired fileChanged event after close of stream*/ private static void closeOutputStream(AbstractFolder fo, OutputStream os, boolean fireFileChanged) { StreamPool foPool = find(fo); StreamPool fsPool = find(fo.getFileSystem()); Set foSet = (foPool != null) ? foPool.oStreams : null; Set fsSet = (fsPool != null) ? fsPool.oStreams : null; removeStreams(fsSet, foSet, os); removeStreamPools(fsPool, foPool, fo); fo.outputStreamClosed(fireFileChanged); }
retVal = new NotifyInputStream(fo); get(fo).iStream().add(retVal); get(fo.getFileSystem()).iStream().add(retVal); AbstractFileSystem abstractFileSystem = ((AbstractFileSystem) fo.getFileSystem()); ((NotifyInputStream) retVal).setOriginal(abstractFileSystem.info.inputStream(fo.getPath())); } else {
retVal = new NotifyOutputStream(fo, fireFileChanged); get(fo).oStream().add(retVal); get(fo.getFileSystem()).oStream().add(retVal); AbstractFileSystem abstractFileSystem = ((AbstractFileSystem) fo.getFileSystem()); ((NotifyOutputStream) retVal).setOriginal(abstractFileSystem.info.outputStream(fo.getPath())); } else {
private static synchronized void removeStreamPools (StreamPool fsPool,StreamPool foPool,AbstractFolder fo) { boolean isIStreamEmpty = (foPool == null || foPool.iStreams == null || foPool.iStreams.isEmpty()); boolean isOStreamEmpty = (foPool == null || foPool.oStreams == null || foPool.oStreams.isEmpty()); if (isIStreamEmpty && isOStreamEmpty) fo2StreamPool.remove(fo); isIStreamEmpty = (fsPool == null || fsPool.iStreams == null || fsPool.iStreams.isEmpty()); isOStreamEmpty = (fsPool == null || fsPool.oStreams == null || fsPool.oStreams.isEmpty()); if (isIStreamEmpty && isOStreamEmpty) fs2StreamPool.remove(fo.getFileSystem ()); }
private static synchronized void removeStreamPools (StreamPool fsPool,StreamPool foPool,AbstractFolder fo) { boolean isIStreamEmpty = (foPool == null || foPool.iStreams == null || foPool.iStreams.isEmpty()); boolean isOStreamEmpty = (foPool == null || foPool.oStreams == null || foPool.oStreams.isEmpty()); if (isIStreamEmpty && isOStreamEmpty) fo2StreamPool.remove(fo); isIStreamEmpty = (fsPool == null || fsPool.iStreams == null || fsPool.iStreams.isEmpty()); isOStreamEmpty = (fsPool == null || fsPool.oStreams == null || fsPool.oStreams.isEmpty()); if (isIStreamEmpty && isOStreamEmpty) fs2StreamPool.remove(fo.getFileSystem ()); }
public final boolean isValid () { // valid if (parent == null) { return validFlag; } boolean isValidRoot = getFileSystem ().getRoot () == validRoot; return validFlag && isValidRoot; }
public final boolean isValid () { // valid if (parent == null) { return validFlag; } boolean isValidRoot = getFileSystem ().getRoot () == validRoot; return validFlag && isValidRoot; }
/** @return true if there is a listener */ protected final boolean hasListeners () { boolean fsHas = getFileSystem().getFCLSupport ().hasListeners (); boolean repHas = false; Repository rep = getFileSystem().getRepository (); if (rep != null) repHas = rep.getFCLSupport ().hasListeners (); return (listeners != null && listeners.getAllListeners ().length != 0) || repHas || fsHas; }
/** @return true if there is a listener */ protected final boolean hasListeners () { boolean fsHas = getFileSystem().getFCLSupport ().hasListeners (); boolean repHas = false; Repository rep = getFileSystem().getRepository (); if (rep != null) repHas = rep.getFCLSupport ().hasListeners (); return (listeners != null && listeners.getAllListeners ().length != 0) || repHas || fsHas; }
private static void closeInputStream (AbstractFolder fo, InputStream is) { StreamPool foPool = find (fo); StreamPool fsPool = find (fo.getFileSystem ()); Set foSet = (foPool != null)? foPool.iStreams : null; Set fsSet = (fsPool != null)? fsPool.iStreams : null; removeStreams (fsSet, foSet, is); removeStreamPools (fsPool, foPool, fo); }
private static void closeInputStream (AbstractFolder fo, InputStream is) { StreamPool foPool = find (fo); StreamPool fsPool = find (fo.getFileSystem ()); Set foSet = (foPool != null)? foPool.iStreams : null; Set fsSet = (fsPool != null)? fsPool.iStreams : null; removeStreams (fsSet, foSet, is); removeStreamPools (fsPool, foPool, fo); }
/** fireFileChange defines if should be fired fileChanged event after close of stream*/ private static void closeOutputStream (AbstractFolder fo, OutputStream os, boolean fireFileChanged) { StreamPool foPool = find (fo); StreamPool fsPool = find (fo.getFileSystem ()); Set foSet = (foPool != null)? foPool.oStreams : null; Set fsSet = (fsPool != null)? fsPool.oStreams : null; removeStreams (fsSet, foSet, os); removeStreamPools (fsPool, foPool, fo); fo.outputStreamClosed (fireFileChanged); }
/** fireFileChange defines if should be fired fileChanged event after close of stream*/ private static void closeOutputStream (AbstractFolder fo, OutputStream os, boolean fireFileChanged) { StreamPool foPool = find (fo); StreamPool fsPool = find (fo.getFileSystem ()); Set foSet = (foPool != null)? foPool.oStreams : null; Set fsSet = (fsPool != null)? fsPool.oStreams : null; removeStreams (fsSet, foSet, os); removeStreamPools (fsPool, foPool, fo); fo.outputStreamClosed (fireFileChanged); }