/** * @param mediaFormatNames Media format names */ public MediaArgs(String... mediaFormatNames) { mediaFormatNames(mediaFormatNames); }
@Override public @NotNull MediaBuilder mediaFormatNames(String... values) { this.mediaArgs.mediaFormatNames(values); return this; }
/** * Sets list of media formats to resolve to. * Additionally {@link #isMediaFormatsMandatory()} is set to true. * @param values Media format names. * @return this */ public @NotNull MediaArgs mandatoryMediaFormatNames(String... values) { mediaFormatNames(values); mediaFormatsMandatory(true); return this; }
/** * Resolve media format names to media formats so all downstream logic has only to handle the resolved media formats. * If resolving fails an exception is thrown. * @param mediaArgs Media args * @return true if resolving was successful. */ private boolean resolveMediaFormats(MediaArgs mediaArgs) { // resolved media formats already set? done. if (mediaArgs.getMediaFormats() != null) { return true; } // no media format names present? done. if (mediaArgs.getMediaFormatNames() == null) { return true; } String[] mediaFormatNames = mediaArgs.getMediaFormatNames(); MediaFormat[] mediaFormats = new MediaFormat[mediaFormatNames.length]; boolean resolutionSuccessful = true; for (int i = 0; i < mediaFormatNames.length; i++) { mediaFormats[i] = mediaFormatHandler.getMediaFormat(mediaFormatNames[i]); if (mediaFormats[i] == null) { log.warn("Media format name '" + mediaFormatNames[i] + "' is invalid."); resolutionSuccessful = false; } } mediaArgs.mediaFormats(mediaFormats); mediaArgs.mediaFormatNames((String[])null); return resolutionSuccessful; }