@Override public File readFrom(final Class<File> type, final Type genericType, final Annotation[] annotations, final MediaType mediaType, final MultivaluedMap<String, String> httpHeaders, final InputStream entityStream) throws IOException { final File file = Utils.createTempFile(); final OutputStream stream = new BufferedOutputStream(new FileOutputStream(file)); try { writeTo(entityStream, stream); } finally { stream.close(); } return file; }
@Override public String toString(final Locale header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.LOCALE_IS_NULL()); if (header.getCountry().length() == 0) { return header.getLanguage(); } else { return header.getLanguage() + '-' + header.getCountry(); } }
@Override public String toString(final Locale header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.LOCALE_IS_NULL()); if (header.getCountry().length() == 0) { return header.getLanguage(); } else { return header.getLanguage() + '-' + header.getCountry(); } }
@Override public File readFrom(final Class<File> type, final Type genericType, final Annotation[] annotations, final MediaType mediaType, final MultivaluedMap<String, String> httpHeaders, final InputStream entityStream) throws IOException { final File file = Utils.createTempFile(); final OutputStream stream = new BufferedOutputStream(new FileOutputStream(file)); try { writeTo(entityStream, stream); } finally { stream.close(); } return file; }
@Override public String toString(URI header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.URI_IS_NULL()); return header.toASCIIString(); }
@Override public File apply(ContainerRequest request) { final FormDataBodyPart part = getEntity(request).getField(name); final BodyPartEntity entity = part != null ? part.getEntityAs(BodyPartEntity.class) : null; if (entity != null) { try { // Create a temporary file. final File file = Utils.createTempFile(); // Move the part (represented either via stream or file) to the specific temporary file. entity.moveTo(file); return file; } catch (final IOException | MIMEParsingException cannotMove) { // Unable to create a temporary file or move the file. LOGGER.log(Level.WARNING, LocalizationMessages.CANNOT_INJECT_FILE(), cannotMove); } } return null; } }
@Override public URI fromString(String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.URI_IS_NULL()); try { return new URI(header); } catch (URISyntaxException e) { throw new IllegalArgumentException( "Error parsing uri '" + header + "'", e); } } }
@Override public String toString(String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.STRING_IS_NULL()); return header; }
@Override public String fromString(String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.STRING_IS_NULL()); return header; } }
@Override public String toString(URI header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.URI_IS_NULL()); return header.toASCIIString(); }
@Override public String toString(String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.STRING_IS_NULL()); return header; }
@Override public String fromString(String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.STRING_IS_NULL()); return header; } }
@Override public URI fromString(String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.URI_IS_NULL()); try { return new URI(header); } catch (URISyntaxException e) { throw new IllegalArgumentException( "Error parsing uri '" + header + "'", e); } } }
@Override public String toString(MediaType header) { throwIllegalArgumentExceptionIfNull(header, MEDIA_TYPE_IS_NULL); StringBuilder b = new StringBuilder(); b.append(header.getType()).append('/').append(header.getSubtype()); for (Map.Entry<String, String> e : header.getParameters().entrySet()) { b.append(";").append(e.getKey()).append('='); StringBuilderUtils.appendQuotedIfNonToken(b, e.getValue()); } return b.toString(); }
/** * Convert {@link Link} instance to a string version. * * @param value link instance to be stringified. * @return string version of a given link instance. */ static String stringfy(final Link value) { throwIllegalArgumentExceptionIfNull(value, LocalizationMessages.LINK_IS_NULL()); final Map<String, String> map = value.getParams(); final StringBuilder sb = new StringBuilder(); sb.append('<').append(value.getUri()).append('>'); for (final Map.Entry<String, String> entry : map.entrySet()) { sb.append("; ").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\""); } return sb.toString(); }
@Override public String toString(MediaType header) { throwIllegalArgumentExceptionIfNull(header, MEDIA_TYPE_IS_NULL); StringBuilder b = new StringBuilder(); b.append(header.getType()).append('/').append(header.getSubtype()); for (Map.Entry<String, String> e : header.getParameters().entrySet()) { b.append(";").append(e.getKey()).append('='); StringBuilderUtils.appendQuotedIfNonToken(b, e.getValue()); } return b.toString(); }
@Override public String toString(final Date header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.DATE_IS_NULL()); return HttpDateFormat.getPreferredDateFormat().format(header); }
/** * Convert {@link Link} instance to a string version. * * @param value link instance to be stringified. * @return string version of a given link instance. */ static String stringfy(final Link value) { throwIllegalArgumentExceptionIfNull(value, LocalizationMessages.LINK_IS_NULL()); final Map<String, String> map = value.getParams(); final StringBuilder sb = new StringBuilder(); sb.append('<').append(value.getUri()).append('>'); for (final Map.Entry<String, String> entry : map.entrySet()) { sb.append("; ").append(entry.getKey()).append("=\"").append(entry.getValue()).append("\""); } return sb.toString(); }
@Override public Date fromString(final String header) { throwIllegalArgumentExceptionIfNull(header, LocalizationMessages.DATE_IS_NULL()); try { return HttpHeaderReader.readDate(header); } catch (final ParseException ex) { throw new IllegalArgumentException( "Error parsing date '" + header + "'", ex); } } }
@Override public MediaType fromString(String header) { throwIllegalArgumentExceptionIfNull(header, MEDIA_TYPE_IS_NULL); try { return valueOf(HttpHeaderReader.newInstance(header)); } catch (ParseException ex) { throw new IllegalArgumentException( "Error parsing media type '" + header + "'", ex); } }