public <T> StringReader<T> getStringReader(Class<T> type, Type genericType, Annotation[] annotations) { for (StringReaderProvider<T> srp : readers) { StringReader<T> sr = srp.getStringReader(type, genericType, annotations); if (sr != null) return sr; } return null; }
public AbstractStringReaderExtractor(StringReader sr, String parameter, String defaultStringValue) { this.sr = sr; this.parameter = parameter; this.defaultStringValue = defaultStringValue; if (defaultStringValue != null) { StringReader.ValidateDefaultValue validate = sr.getClass(). getAnnotation(StringReader.ValidateDefaultValue.class); if (validate == null || validate.value()) { sr.fromString(defaultStringValue); } } }
public Object extract(MultivaluedMap<String, String> parameters) { String v = parameters.getFirst(parameter); Object result = null; if (v != null) { try { result = sr.fromString(v); } catch (WebApplicationException ex) { throw ex; } catch (ContainerException ex) { throw ex; } catch (Exception ex) { throw new ExtractorContainerException(ex); } } if (result == null && defaultStringValue != null) { result = sr.fromString(defaultStringValue); } return result; } }
if (request.isTracingEnabled()) { configureTrace(responseWriter); responseWriter.writeStatusAndHeaders(-1, this); responseWriter.finish(); return; if (!getHttpHeaders().containsKey(HttpHeaders.VARY)) { final String varyHeader = (String)request.getProperties().get(ContainerRequest.VARY_HEADER); if (varyHeader != null) { getHttpHeaders().add(HttpHeaders.VARY, varyHeader); MediaType contentType = getMediaType(); if (contentType == null) { contentType = getMessageBodyWorkers().getMessageBodyWriterMediaType( entity.getClass(), entityType, annotations, request.getAcceptableMediaTypes()); if (contentType == null || contentType.isWildcardType() || contentType.isWildcardSubtype()) contentType = MediaType.APPLICATION_OCTET_STREAM_TYPE; getHttpHeaders().putSingle(HttpHeaders.CONTENT_TYPE, contentType); final MessageBodyWriter writer = getMessageBodyWorkers().getMessageBodyWriter( entity.getClass(), entityType, annotations, contentType);
@Override public <T> T getEntity(Class<T> type, Type genericType, Annotation[] as) { MediaType mediaType = getMediaType(); if (mediaType == null) { mediaType = MediaType.APPLICATION_OCTET_STREAM_TYPE; MessageBodyReader<T> bw = getMessageBodyWorkers().getMessageBodyReader( type, genericType, as, mediaType); ", and MIME media type " + mediaType + " was not found.\n"; Map<MediaType, List<MessageBodyReader>> m = getMessageBodyWorkers(). getReaders(mediaType); LOGGER.severe(message + "The registered message body readers compatible with the MIME media type are:\n" + getMessageBodyWorkers().readersToString(m)); if (isTracingEnabled()) { trace(String.format("matched message body reader: %s, \"%s\" -> %s", genericType, mediaType,
final MultivaluedMap<String, Object> httpHeaders, final T entity) { final MessageBodyWriter<T> writer = getMessageBodyWorkers().getMessageBodyWriter(type, genericType, annotations, mediaType); ", and MIME media type " + mediaType + " was not found.\n"; Map<MediaType, List<MessageBodyReader>> m = getMessageBodyWorkers(). getReaders(mediaType); LOGGER.severe(message + "The registered message body readers compatible with the MIME media type are:\n" + getMessageBodyWorkers().readersToString(m)); if (isTracingEnabled()) { trace(String.format("matched message body writer: %s, \"%s\" -> %s", genericType, mediaType,
@GET @Path("getMBW") public Response getInTestResource(@Context MessageBodyWorkers workers) { Map<MediaType, List<MessageBodyWriter>> writers = workers.getWriters(MediaType.WILDCARD_TYPE); for (Entry<MediaType, List<MessageBodyWriter>> entry : writers.entrySet()) { for (MessageBodyWriter writer : entry.getValue()) { System.out.println(String.format("For mediaType '%s' there is a class called %s", entry.getKey(),writer.getClass().getName())); } } return Response.status(Status.OK).type(MediaType.TEXT_PLAIN).entity("get is ok").build(); }
final MediaType workerMediaType = isJavaScript ? MediaType.APPLICATION_JSON_TYPE : mediaType; MessageBodyWriter bw = bodyWorker.getMessageBodyWriter(entityType, entityGenericType, annotations, workerMediaType); if (bw == null) { if (!genericEntityUsed) {
/* package*/ MessageBodyReader lookupXmlReader(MessageBodyWorkers mbw, MediaType mt) { for (MessageBodyReader reader : mbw.getReaders(mt).get(mt)) { if (reader instanceof MoxyMessageBodyWorker) { continue; } else if (!reader.isReadable(getJAXBDollClass(), getJAXBDollClass(), null, mt)){ continue; } else { return reader; } } return null; } }
private <T> HeaderDelegate<T> _createHeaderDelegate(Class<T> type) { for (HeaderDelegateProvider hp: hps) if (hp.supports(type)) return hp; return null; } }
parameter, parameterName, defaultValue); } else { final StringReader sr = w.getStringReader(tcp.c, tcp.t, annotations); if (sr == null) return null; final StringReader sr = w.getStringReader(parameter, parameterType, annotations); if (sr == null) return null;
@StringReader.ValidateDefaultValue(false) public class BroadcasterStringReader implements StringReader { @Override public Object fromString(String topic) { Broadcaster broadcaster; try { AtmosphereResource r = (AtmosphereResource) req.getAttribute(FrameworkConfig.ATMOSPHERE_RESOURCE); BroadcasterFactory bp = r.getAtmosphereConfig().getBroadcasterFactory(); Class<? extends Broadcaster> c; try { c = (Class<Broadcaster>) Class.forName((String) req.getAttribute(ApplicationConfig.BROADCASTER_CLASS)); } catch (Throwable e) { throw new IllegalStateException(e.getMessage()); } broadcaster = bp.lookup(c, topic, true); } catch (Throwable ex) { throw new WebApplicationException(ex); } logger.trace("Injected Broadcaster {}", broadcaster); req.setAttribute(AtmosphereFilter.INJECTED_BROADCASTER, broadcaster); return broadcaster; } } }
/* package */ MessageBodyWriter lookupXmlWriter(MessageBodyWorkers mbw, MediaType mt) { for (MessageBodyWriter writer : mbw.getWriters(mt).get(mt)) { if (writer instanceof MoxyMessageBodyWorker) { continue; } else if (!writer.isWriteable(getJAXBDollClass(), getJAXBDollClass(), null, mt)){ continue; } else { return writer; } } return null; }
public AbstractStringReaderExtractor(StringReader sr, String parameter, String defaultStringValue) { this.sr = sr; this.parameter = parameter; this.defaultStringValue = defaultStringValue; if (defaultStringValue != null) { StringReader.ValidateDefaultValue validate = sr.getClass(). getAnnotation(StringReader.ValidateDefaultValue.class); if (validate == null || validate.value()) { sr.fromString(defaultStringValue); } } }
public <T> StringReader<T> getStringReader(Class<T> type, Type genericType, Annotation[] annotations) { for (StringReaderProvider<T> srp : readers) { StringReader<T> sr = srp.getStringReader(type, genericType, annotations); if (sr != null) return sr; } return null; }
public Object extract(MultivaluedMap<String, String> parameters) { final List<String> stringList = parameters.get(parameter); if (stringList != null) { final V valueList = getInstance(); for (String v : stringList) { valueList.add(sr.fromString(v)); } return valueList; } else if (defaultStringValue != null) { final V valueList = getInstance(); valueList.add(sr.fromString(defaultStringValue)); return valueList; } else { return getInstance(); } }
private <T> HeaderDelegate<T> _createHeaderDelegate(Class<T> type) { for (HeaderDelegateProvider hp: hps) if (hp.supports(type)) return hp; return null; } }
public AbstractStringReaderExtractor(StringReader sr, String parameter, String defaultStringValue) { this.sr = sr; this.parameter = parameter; this.defaultStringValue = defaultStringValue; if (defaultStringValue != null) { StringReader.ValidateDefaultValue validate = sr.getClass(). getAnnotation(StringReader.ValidateDefaultValue.class); if (validate == null || validate.value()) { sr.fromString(defaultStringValue); } } }
public <T> StringReader<T> getStringReader(Class<T> type, Type genericType, Annotation[] annotations) { for (StringReaderProvider<T> srp : readers) { StringReader<T> sr = srp.getStringReader(type, genericType, annotations); if (sr != null) return sr; } return null; }
public Object extract(MultivaluedMap<String, String> parameters) { String v = parameters.getFirst(parameter); Object result = null; if (v != null) { try { result = sr.fromString(v); } catch (WebApplicationException ex) { throw ex; } catch (ContainerException ex) { throw ex; } catch (Exception ex) { throw new ExtractorContainerException(ex); } } if (result == null && defaultStringValue != null) { result = sr.fromString(defaultStringValue); } return result; } }