overridedef register(dir: JFile): Unit =
state.change(st =>
st.dirs.get(dir) match { case Some(key) if key.isValid => st case _ => val key = dir.toPath.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY)
st.copy(dirs = st.dirs + (dir -> key))
})
overridedef register_parent(file: JFile): Unit = { val dir = file.getParentFile if (dir != null && dir.isDirectory) register(dir)
}
overridedef deregister(dir: JFile): Unit =
state.change(st =>
st.dirs.get(dir) match { case None => st case Some(key) =>
key.cancel()
st.copy(dirs = st.dirs - dir)
})
overridedef purge(retain: Set[JFile]): Unit =
state.change(st =>
st.copy(dirs = st.dirs --
(for ((dir, key) <- st.dirs.iterator if !retain(dir)) yield { key.cancel(); dir })))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.