@Override public Function<ContainerRequest, AsyncResponse> getValueProvider(final Parameter parameter) { if (parameter.getSource() != Parameter.Source.SUSPENDED) { return null; } if (!AsyncResponse.class.isAssignableFrom(parameter.getRawType())) { return null; } return containerRequest -> asyncContextProvider.get(); }
@Override public Function<ContainerRequest, AsyncResponse> getValueProvider(final Parameter parameter) { if (parameter.getSource() != Parameter.Source.SUSPENDED) { return null; } if (!AsyncResponse.class.isAssignableFrom(parameter.getRawType())) { return null; } return containerRequest -> asyncContextProvider.get(); }
private boolean isSseInjected(final Invocable invocable) { return invocable.getParameters().stream().anyMatch(parameter -> SseEventSink.class.equals(parameter.getRawType())); }
private boolean isSseInjected(final Invocable invocable) { return invocable.getParameters().stream().anyMatch(parameter -> SseEventSink.class.equals(parameter.getRawType())); }
private Parameter getEntityParam(final Invocable invocable) { for (final Parameter parameter : invocable.getParameters()) { if (parameter.getSource() == Parameter.Source.ENTITY && !ContainerRequestContext.class.isAssignableFrom(parameter.getRawType())) { // there's at most one entity parameter return parameter; } } return null; }
private Parameter getEntityParam(final Invocable invocable) { for (final Parameter parameter : invocable.getParameters()) { if (parameter.getSource() == Parameter.Source.ENTITY && !ContainerRequestContext.class.isAssignableFrom(parameter.getRawType())) { // there's at most one entity parameter return parameter; } } return null; }
@Override public String toString() { return String.format("Parameter [type=%s, source=%s, defaultValue=%s]", getRawType(), getSourceName(), getDefaultValue()); }
@Nullable @Override protected Function<ContainerRequest, ?> createValueProvider(Parameter parameter) { if (!parameter.isAnnotationPresent(Auth.class)) { return null; } else if (principalClassSet.contains(parameter.getRawType())) { return request -> new PrincipalContainerRequestValueFactory(request).provide(); } else { final boolean isOptionalPrincipal = parameter.getRawType() == Optional.class && ParameterizedType.class.isAssignableFrom(parameter.getType().getClass()) && principalClassSet.contains(((ParameterizedType) parameter.getType()).getActualTypeArguments()[0]); return isOptionalPrincipal ? request -> new OptionalPrincipalContainerRequestValueFactory(request).provide() : null; } }
@Override public String toString() { return String.format("Parameter [type=%s, source=%s, defaultValue=%s]", getRawType(), getSourceName(), getDefaultValue()); }
@Nullable @Override protected Function<ContainerRequest, ?> createValueProvider(Parameter parameter) { if (!parameter.isAnnotationPresent(Auth.class)) { return null; } else if (principalClass.equals(parameter.getRawType())) { return request -> new PrincipalContainerRequestValueFactory(request).provide(); } else { final boolean isOptionalPrincipal = parameter.getRawType() == Optional.class && ParameterizedType.class.isAssignableFrom(parameter.getType().getClass()) && principalClass == ((ParameterizedType) parameter.getType()).getActualTypeArguments()[0]; return isOptionalPrincipal ? request -> new OptionalPrincipalContainerRequestValueFactory(request).provide() : null; } }
@Override protected Function<ContainerRequest, SseEventSink> createValueProvider(Parameter parameter) { if (parameter == null) { return null; } final Class<?> rawParameterType = parameter.getRawType(); if (rawParameterType == SseEventSink.class && parameter.isAnnotationPresent(Context.class)) { return new SseEventSinkValueSupplier(asyncContextSupplier); } return null; }
private void fillInputTypesFromWorkers(final Set<MediaType> effectiveInputTypes, final Invocable invocableMethod) { for (Parameter p : invocableMethod.getParameters()) { if (p.getSource() == Parameter.Source.ENTITY) { effectiveInputTypes.addAll(workers.getMessageBodyReaderMediaTypesByType(p.getRawType())); // there's at most one entity parameter break; } } }
private void fillInputTypesFromWorkers(final Set<MediaType> effectiveInputTypes, final Invocable invocableMethod) { for (Parameter p : invocableMethod.getParameters()) { if (p.getSource() == Parameter.Source.ENTITY) { effectiveInputTypes.addAll(workers.getMessageBodyReaderMediaTypesByType(p.getRawType())); // there's at most one entity parameter break; } } }
@Override public Object apply(ContainerRequest request) { Class<?> rawType = parameter.getRawType(); Object fromHk2 = injectionManager.getInstance(rawType); if (fromHk2 != null) { // the bean parameter type is already bound in HK2, let's just take it from there return fromHk2; } ForeignDescriptor foreignDescriptor = descriptorCache.apply(rawType); return injectionManager.getInstance(foreignDescriptor); } }
@Override public Object apply(ContainerRequest request) { Class<?> rawType = parameter.getRawType(); Object fromHk2 = injectionManager.getInstance(rawType); if (fromHk2 != null) { // the bean parameter type is already bound in HK2, let's just take it from there return fromHk2; } ForeignDescriptor foreignDescriptor = descriptorCache.apply(rawType); return injectionManager.getInstance(foreignDescriptor); } }
@Nullable @Override protected Function<ContainerRequest, ?> createValueProvider(Parameter parameter) { final Class<?> classType = parameter.getRawType(); final Session sessionAnnotation = parameter.getAnnotation(Session.class); if (sessionAnnotation == null) { return null; } if (classType.isAssignableFrom(HttpSession.class)) { return x -> im.createAndInitialize(HttpSessionFactory.class).provide(sessionAnnotation.doNotCreate()); } else if (classType.isAssignableFrom(Flash.class)) { return x -> im.createAndInitialize(FlashFactory.class).provide(sessionAnnotation.doNotCreate()); } else { return null; } }
private List<MediaType> getEffectiveInputTypes(final ResourceMethod resourceMethod) { if (!resourceMethod.getConsumedTypes().isEmpty()) { return resourceMethod.getConsumedTypes(); } List<MediaType> result = new LinkedList<>(); if (workers != null) { for (Parameter p : resourceMethod.getInvocable().getParameters()) { if (p.getSource() == Parameter.Source.ENTITY) { result.addAll(workers.getMessageBodyReaderMediaTypes( p.getRawType(), p.getType(), p.getDeclaredAnnotations())); } } } return result.isEmpty() ? StarTypeList : result; }
private List<MediaType> getEffectiveInputTypes(final ResourceMethod resourceMethod) { if (!resourceMethod.getConsumedTypes().isEmpty()) { return resourceMethod.getConsumedTypes(); } List<MediaType> result = new LinkedList<>(); if (workers != null) { for (Parameter p : resourceMethod.getInvocable().getParameters()) { if (p.getSource() == Parameter.Source.ENTITY) { result.addAll(workers.getMessageBodyReaderMediaTypes( p.getRawType(), p.getType(), p.getDeclaredAnnotations())); } } } return result.isEmpty() ? StarTypeList : result; }
@Override public MultivaluedParameterExtractor<?> get(final Parameter p) { return process( paramConverterFactory.get(), p.getDefaultValue(), p.getRawType(), p.getType(), p.getAnnotations(), p.getSourceName()); }
@Override public MultivaluedParameterExtractor<?> get(final Parameter p) { return process( paramConverterFactory.get(), p.getDefaultValue(), p.getRawType(), p.getType(), p.getAnnotations(), p.getSourceName()); }