/** * Fire directory/file delete events to the registered listeners. * * @param entry The file entry */ private void doDelete(FileInfo entry) { for (FileChangeListener listener : listeners) { if (entry.isDirectory()) { listener.onDirectoryDelete(this,entry.getFile()); } else { listener.onFileDelete(this,entry.getFile()); } } }
private FileChangeObserver createObserver(File dir, FileChangeListener listener) { FileChangeObserver observer = new FileChangeObserver(dir); observer.addListener(listener); return observer; }
public static byte[] readByteArrayAndClose(InputStream is) { try{ return readByteArray(is); }finally{ close(is); } }
@Override public String convertToString(InputStream value) throws Throwable { return IO.readString(value, Charsets.UTF_8); } }
/** * Initialize the observer. * * @throws Exception if an error occurs */ protected synchronized void initialize() { rootEntry.refresh(rootEntry.getFile()); File[] files = listFiles(rootEntry.getFile()); FileInfo[] children = files.length > 0 ? new FileInfo[files.length] : FileInfo.EMPTY_FILE_INFOS; for (int i = 0; i < files.length; i++) { children[i] = createFileEntry(rootEntry, files[i]); } rootEntry.setChildren(children); _initialized = true; }
@Override public void free() throws SQLException { string = null; IO.close(reader); }
/** * Stop monitoring. * * @throws Exception if an error occurs initializing the observer */ public synchronized void stop() throws Exception { stop(interval); }
/** * File created Event. * * @param file The file created (ignored) */ public void onFileCreate(final FileChangeObserver observer,final File file) { onChanged(observer,FileChangeEvent.FileCreate, file); }
@Override public boolean accept(final File file) { for (FileFilter2 fileFilter : filters) { if (fileFilter.accept(file)) { return true; } } return false; }
/** * Directory deleted Event. * * @param directory The directory deleted (ignored) */ public void onDirectoryDelete(final FileChangeObserver observer,final File directory) { onDirectoryChanged(observer,FileChangeEvent.DirectoryDelete, directory); }
/** * String representation of this file comparator. * * @return String representation of this file comparator */ @Override public String toString() { return super.toString() + "[caseSensitivity=" + caseSensitivity + "]"; } }
/** * File created Event. * * @param file The file created (ignored) */ public void onFileCreate(final FileChangeObserver observer,final File file) { onFileChanged(observer,FileChangeEvent.FileCreate, file); }
@Override public boolean accept(File file, String name) { for (String suffix : this.suffixes) { if (caseSensitivity.checkEndsWith(name, suffix)) { return true; } } return false; }
/** * Replaces the enumeration from the stream with a real one. * This ensures that the correct flag is set for SYSTEM. * * @return the resolved object */ private Object readResolve() { return forName(name); }
/** * Create a new child instance. * <p> * Custom implementations should override this method to return * a new instance of the appropriate type. * * @param file The child file * @return a new child instance */ public FileInfo newChildInstance(File file) { return new FileInfo(this, file); }
/** * Return the level * * @return the level */ public int getLevel() { return parent == null ? 0 : parent.getLevel() + 1; }
public static byte[] readByteArrayAndClose(Reader reader) { try{ return readByteArray(reader); }finally{ close(reader); } }
/** * Directory changed Event. * * @param directory The directory changed (ignored) */ public void onDirectoryChange(final FileChangeObserver observer,final File directory) { onChanged(observer,FileChangeEvent.DirectoryChange, directory); }
@Override public boolean accept(final File file, final String name) { for (FileFilter2 fileFilter : filters) { if (fileFilter.accept(file, name)) { return true; } } return false; }
/** * Directory changed Event. * * @param directory The directory changed (ignored) */ public void onDirectoryChange(final FileChangeObserver observer,final File directory) { onDirectoryChanged(observer,FileChangeEvent.DirectoryChange, directory); }