/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull protected static <T> T get (final @Nonnull Media media, final @Nonnull Key<T> key, final @Nonnull T defaultValue) { try { return media.get(key); } catch (NotFoundException e) { return defaultValue; } }
@Override @Nonnull public void marshal (final @Nonnull As entity, final @Nonnull Context context) { try { super.marshal(entity, context); final Media media = (Media)entity; final Set<Key<?>> keys = new HashSet<Key<?>>(media.getKeys()); keys.remove(Media.ID); context.addStatement(media, Vocabulary.RDF_TYPE, Media.FOAF_DOCUMENT); for (final Key<?> key : keys) { if (!key.equals(Media.MIME_TYPE) && !key.equals(Media.DURATION)) { context.addStatement(media, new Id(key.stringValue()), media.get(key)); } } } catch (NotFoundException e) { throw new RuntimeException(e); } } }
public boolean apply (final @Nonnull Object object) { if (!(object instanceof PresentationModel)) { return false; } final PresentationModel presentationModel = (PresentationModel)object; try { return TYPE_STILL_IMAGE.stringValue().equals(presentationModel.as(Media).get(TYPE)); } catch (NotFoundException e) { return false; } catch (AsException e) { return false; } } };
@Nonnull protected Collection<?> computeInstances (final @Nonnull Template<?> template) { final Class<?> type = template.getType(); if (ViewRenderable.class.isAssignableFrom(type)) { try { final String mediaType = owner.as(Media).get(TYPE); if (MediaPresentationModelViewRenderableCapabilityProviderSupport.this.type.stringValue().equals(mediaType)) { return Collections.singletonList(type.cast(createViewRenderable(owner))); } } catch (NotFoundException e) { // ok fallback } catch (AsException e) { // ok fallback } } return Collections.emptyList(); } });
object = media.get(key);
@Nonnull public synchronized T run (final Throwable t) { if (downloadable == null) { try { downloadable = new DownloadableImpl(new URL(Media.this.get(ID).stringValue())); } catch (MalformedURLException e) { return nfb.run(new AsException(type, e)); } catch (NotFoundException e) { return nfb.run(new AsException(type, e)); } } return type.cast(downloadable); } });
/******************************************************************************************************************* * * ******************************************************************************************************************/ @ThreadConfined(type=NOT_UI) protected void createPresentationModels (final @Nonnull Taxon taxon) throws NotFoundException { log.info("createPresentationModels({})", taxon); // stillImages.addAll(taxon.as(Documentable).getFactSheet().getMultiple(FOAF_IMAGE)); for (final Media stillImage : taxon.as(Documentable).getFactSheet().getMultiple(FOAF_IMAGE)) { addPresentationModel(stillImage.with(ID, replacedId(stillImage.get(ID))).as(Presentable).createPresentationModel()); } }
tvDuration.setText(AndroidMediaNodeRenderer.formatDuration(media.get(DURATION)));
final Id movieId = new Id(movie.get(Media.ID).stringValue().replace("#programme", ".rdf")); final Media m = new Media().with(Media.ID, movieId); final Downloadable downloadable = m.as(Downloadable);