@Override public String[] availableCharsets() { List<String> charsets = new Collection<String>(); for(Charset charset : Charset.availableCharsets().values()) { final String name = charset.displayName(); if(!(name.startsWith("IBM") || ((name.startsWith("x-") && !name.startsWith("x-Mac"))))) { charsets.add(name); } } return charsets.toArray(new String[charsets.size()]); } }
/** * Prunes the list of selected files. Files which are a child of an already included directory * are removed from the returned list. * * @param selected Selected files for transfer * @return Normalized */ public static List<Path> normalize(final List<Path> selected) { final List<Path> normalized = new Collection<Path>(); for(Path f : selected) { boolean duplicate = false; for(Path n : normalized) { if(f.isChild(n)) { // The selected file is a child of a directory already included duplicate = true; break; } } if(!duplicate) { normalized.add(f); } } return normalized; } }
/** * @return The filtered collection currently to be displayed within the constraints */ public Collection<Transfer> getSource() { if(filter instanceof NullTransferFilter) { return collection; } final Collection<Transfer> filtered = new Collection<Transfer>(collection); // Temporarily remove the transfer from the collection copy filtered.removeIf(transfer -> !filter.accept(transfer)); return filtered; }
@Override public Collection<S> readCollection(final Local file) throws AccessDeniedException { final Collection<S> c = new Collection<S>(); final NSArray list = (NSArray) this.parse(file.getInputStream()); if(null == list) { log.error(String.format("Invalid bookmark file %s", file)); return c; } for(int i = 0; i < list.count(); i++) { NSObject next = list.objectAtIndex(i); if(next instanceof NSDictionary) { final NSDictionary dict = (NSDictionary) next; final S object = this.deserialize(dict); if(null == object) { continue; } c.add(object); } } return c; }
@Override public Collection<S> readCollection(final Local file) throws AccessDeniedException { if(!file.exists()) { throw new LocalAccessDeniedException(file.getAbsolute()); } final Collection<S> c = new Collection<S>(); NSArray list = NSArray.arrayWithContentsOfFile(file.getAbsolute()); if(null == list) { log.error(String.format("Invalid bookmark file %s", file)); return c; } final NSEnumerator i = list.objectEnumerator(); NSObject next; while(((next = i.nextObject()) != null)) { if(next.isKindOfClass(Rococoa.createClass("NSDictionary", NSDictionary._Class.class))) { final NSDictionary dict = Rococoa.cast(next, NSDictionary.class); final S object = this.deserialize(dict); if(null == object) { continue; } c.add(object); } } return c; }