public static _class_ getNSClass() { if (_NSCLASS_ == null) _NSCLASS_ = org.rococoa.Rococoa.createClass("NSMutableIndexSet", _class_.class); return _NSCLASS_; }
public static _class_ getNSClass() { if (_NSCLASS_ == null) _NSCLASS_ = org.rococoa.Rococoa.createClass("NSIndexSet", _class_.class); return _NSCLASS_; }
public ObjCClass classWithName(String className) { return Rococoa.createClass(className, ObjCClass.class); } }
@Override public NSDictionary objectForKey(final String key) { final NSObject value = dict.objectForKey(key); if(null == value) { return null; } if(value.isKindOfClass(Rococoa.createClass("NSDictionary", NSDictionary._Class.class))) { return Rococoa.cast(value, NSDictionary.class); } log.warn(String.format("Unexpected value type for serialized key %s", key)); return null; }
/** * Load and convert from native storage into cache */ private String loadProperty(final String property) { final NSObject value = store.objectForKey(property); if(null == value) { final String d = this.getDefault(property); return null == d ? MISSING_PROPERTY : d; } // Customized property found if(value.isKindOfClass(Rococoa.createClass("NSString", NSString._Class.class))) { return value.toString(); } if(value.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { return StringUtils.join(this.toList(Rococoa.cast(value, NSArray.class)), LIST_SEPERATOR); } log.warn(String.format("Unknown type for property %s", property)); return value.toString(); }
@Override @SuppressWarnings("unchecked") public <T> List<T> listForKey(final String key) { final NSObject value = dict.objectForKey(key); if(null == value) { return null; } if(value.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray array = Rococoa.cast(value, NSArray.class); final NSEnumerator enumerator = array.objectEnumerator(); NSObject next; final List<T> list = new ArrayList<T>(); while((next = enumerator.nextObject()) != null) { if(next.isKindOfClass(Rococoa.createClass("NSDictionary", NSDictionary._Class.class))) { list.add((T) Rococoa.cast(next, NSDictionary.class)); } if(next.isKindOfClass(Rococoa.createClass("NSString", NSString._Class.class))) { list.add((T) Rococoa.cast(next, NSString.class).toString()); } } return list; } log.warn(String.format("Unexpected value type for serialized key %s", key)); return null; }
@Override public List<String> keys() { final NSArray array = dict.allKeys(); final NSEnumerator enumerator = array.objectEnumerator(); NSObject next; final List<String> keys = new ArrayList<>(); while((next = enumerator.nextObject()) != null) { if(next.isKindOfClass(Rococoa.createClass("NSString", NSString._Class.class))) { keys.add(Rococoa.cast(next, NSString.class).toString()); } } return keys; }
@Override public String locale() { final NSObject value = store.objectForKey("AppleLanguages"); if(null == value) { return super.locale(); } if(value.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final List<String> languages = this.toList(Rococoa.cast(value, NSArray.class)); if(null != languages) { return languages.iterator().next(); } } return super.locale(); }
/** * @return The value for the key NSFileSystemFileNumber, or 0 if the receiver doesn’t have an entry for the key */ public Long getInode() { try { final NSObject object = this.getNativeAttribute(NSFileManager.NSFileSystemFileNumber); if(object.isKindOfClass(Rococoa.createClass("NSNumber", NSNumber._Class.class))) { final NSNumber number = Rococoa.cast(object, NSNumber.class); return number.longValue(); } return null; } catch(AccessDeniedException | NotfoundException e) { return null; } }
/** * Read <code>NSFileCreationDate</code>. * * @return Milliseconds since 1970 */ @Override public long getCreationDate() { try { final NSObject object = this.getNativeAttribute(NSFileManager.NSFileCreationDate); if(object.isKindOfClass(Rococoa.createClass("NSDate", NSDate._Class.class))) { return (long) (Rococoa.cast(object, NSDate.class).timeIntervalSince1970() * 1000); } return -1; } catch(AccessDeniedException | NotfoundException e) { return -1; } }
/** * NSService implementation */ @Action public void serviceUploadFileUrl_(final NSPasteboard pboard, final String userData) { if(log.isDebugEnabled()) { log.debug(String.format("serviceUploadFileUrl_: with user data %s", userData)); } if(pboard.availableTypeFromArray(NSArray.arrayWithObject(NSPasteboard.FilenamesPboardType)) != null) { NSObject o = pboard.propertyListForType(NSPasteboard.FilenamesPboardType); if(o != null) { if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); List<Local> files = new ArrayList<Local>(); for(int i = 0; i < elements.count().intValue(); i++) { files.add(LocalFactory.get(elements.objectAtIndex(new NSUInteger(i)).toString())); } this.upload(files); } } } }
@Override public Map<String, String> mapForKey(final String key) { final NSObject value = dict.objectForKey(key); if(null == value) { return null; } if(value.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSDictionary dict = Rococoa.cast(value, NSDictionary.class); final NSEnumerator enumerator = dict.allKeys().objectEnumerator(); NSObject next; final Map<String, String> list = new HashMap<>(); while((next = enumerator.nextObject()) != null) { final String k = Rococoa.cast(next, NSString.class).toString(); list.put(k, Rococoa.cast(dict.objectForKey(k), NSString.class).toString()); } return list; } log.warn(String.format("Unexpected value type for serialized key %s", key)); return null; } }
@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; }
/** * @param pboard Pasteboard with filenames * @return True if filenames are found in pasteboard and upload has started */ private boolean upload(NSPasteboard pboard) { if(!this.isMounted()) { return false; } if(pboard.availableTypeFromArray(NSArray.arrayWithObject(NSPasteboard.FilenamesPboardType)) != null) { NSObject o = pboard.propertyListForType(NSPasteboard.FilenamesPboardType); if(o != null) { if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); final Path workdir = this.workdir(); final List<TransferItem> uploads = new ArrayList<TransferItem>(); for(int i = 0; i < elements.count().intValue(); i++) { final Local local = LocalFactory.get(elements.objectAtIndex(new NSUInteger(i)).toString()); uploads.add(new TransferItem(new Path(workdir, local.getName(), local.isDirectory() ? EnumSet.of(Path.Type.directory) : EnumSet.of(Path.Type.file)), local)); } this.transfer(new UploadTransfer(pool.getHost(), uploads)); } } } return false; }
final TransmitFavoriteCollection c = Rococoa.createClass("TransmitFavoriteCollection", TransmitFavoriteCollection.class); final TransmitFavorite f = Rococoa.createClass("TransmitFavorite", TransmitFavorite.class);
if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); for(int i = 0; i < elements.count().intValue(); i++) { if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); final List<TransferItem> roots = new ArrayList<TransferItem>();
final NSObject o = draggingPasteboard.propertyListForType(NSPasteboard.FilenamesPboardType); if(o != null) { if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); for(int i = 0; i < elements.count().intValue(); i++) { final NSObject o = draggingPasteboard.propertyListForType(NSPasteboard.URLPboardType); if(o != null) { if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); for(int i = 0; i < elements.count().intValue(); i++) {
NSObject o = NSPasteboard.generalPasteboard().propertyListForType(NSPasteboard.FilenamesPboardType); if(o != null) { if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); if(elements.count().intValue() == 1) {
if(o.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(o, NSArray.class); for(int i = 0; i < elements.count().intValue(); i++) {
if(object.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(object, NSArray.class); final NSObject object = draggingPasteboard.propertyListForType(NSPasteboard.URLPboardType); if(object != null) { if(object.isKindOfClass(Rococoa.createClass("NSArray", NSArray._Class.class))) { final NSArray elements = Rococoa.cast(object, NSArray.class); for(int i = 0; i < elements.count().intValue(); i++) {