@Override public OneDriveItem.Metadata next() throws OneDriveRuntimeException { JsonObject nextObject = jsonObjectIterator.next(); String id = nextObject.get("id").asString(); OneDriveItem.Metadata nextMetadata; if (nextObject.get("folder") != null && !nextObject.get("folder").isNull()) { OneDriveFolder folder = new OneDriveFolder(api, id); nextMetadata = folder.new Metadata(nextObject); } else if (nextObject.get("file") != null && !nextObject.get("file").isNull()) { OneDriveFile file = new OneDriveFile(api, id); nextMetadata = file.new Metadata(nextObject); } else { throw new OneDriveRuntimeException("The object type is currently not handled."); } return nextMetadata; }
@Override public boolean hasNext() throws OneDriveRuntimeException { return jsonObjectIterator.hasNext(); }