return new Media(asMap);
@Nonnull public As unmarshal (final @Nonnull List<Statement> statements, final @Nonnull Context context) { // TODO: Android seems unable to read many large images from BBC, so we resort to thumbnails final Id imageId = findId(statements, context); for (final Statement statement2 : context.findStatements(ID_FOAF_THUMBNAIL, null)) { if (statement2.getSubject().stringValue().equals(imageId.stringValue())) { return new Media().with(Media.ID, new Id(statement2.getObject().stringValue())); } } return new Media().with(Media.ID, imageId); } }
@Nonnull public As unmarshal (final @Nonnull List<Statement> statements, final @Nonnull Context context) { final Id id = findId(statements, context); Media movie = new Media().with(Media.ID, id).with(DC_RIGHTS, BBC_SYNDICATION_GUIDELINES); for (final Statement statement : statements) { final String predicate = statement.getPredicate().stringValue(); if (predicate.startsWith(NS_DC_TERMS)) { final Key<Object> key = new Key<Object>(predicate); movie = movie.with(key, deserialize(statement.getObject())); } else if (!predicate.equals(TYPE_RDF_TYPE.stringValue()) && !predicate.equals(BbcVocabulary.ID_PO_SUBJECT.stringValue())) { System.err.println("MOVIE Unused statement: " + statement); } } return movie; } }
final Media media = new Media().with(Media.ID, new Id(uri.toASCIIString()));
@Override @Nonnull public As unmarshal (final @Nonnull List<Statement> statements, final @Nonnull Context context) { Media media = new Media().with(Media.ID, Converter.valueToId(statements.get(0).getSubject())); final String format = (String)getLiteral(statements, new Id(Media.FORMAT.stringValue())); if (format != null) { media = media.with(Media.FORMAT, format); } final String rights = (String)getLiteral(statements, new Id(Media.RIGHTS.stringValue())); if (rights != null) { media = media.with(Media.RIGHTS, rights); } return media; } }
@Override @Nonnull public As unmarshal (final @Nonnull List<Statement> statements, final @Nonnull Context context) { final Id id = new Id(statements.get(0).getSubject().stringValue()); Media media = new Media().with(Media.ID, id); for (final Statement statement : statements) { final Value object = statement.getObject(); final Id predicate = new Id(statement.getPredicate().stringValue()); final Key<Object> key = new Key<Object>(predicate); if (PREDICATES_REFERRING_ENTITIES.contains(predicate)) { media = media.with(key, context.find(object)); } else if (PREDICATES_REFERRING_IDS.contains(predicate)) { media = media.with(key, new Id(object.stringValue())); } else if (object instanceof Literal) { media = media.with(key, object.stringValue()); } } return media; } }
sound = new Media() //.with(RES_URL, new URI(URLEncoder.encode(url, "UTF-8"))) .with(ID, mediaId) .with(MIME_TYPE, "audio/mp3")