/** * Returns an instance of {@link JerseyModuleExtender} used by downstream modules to load custom extensions of * services declared in the JerseyModule. Should be invoked from a downstream Module's "configure" method. * * @param binder DI binder passed to the Module that invokes this method. * @return an instance of {@link JerseyModuleExtender} that can be used to load Jersey custom extensions. * @since 0.21 */ public static JerseyModuleExtender extend(Binder binder) { return new JerseyModuleExtender(binder); }
public JerseyModuleExtender initAllExtensions() { contributeDynamicFeatures(); contributeFeatures(); contributePackages(); contributeResources(); contributeProperties(); return this; }
protected MapBinder<String, Object> contributeProperties() { if (properties == null) { // should we use a more properly named annotation properties = newMap(String.class, Object.class, JerseyResource.class); } return properties; }
public <T extends Feature> JerseyModuleExtender addFeature(Class<T> featureType) { contributeFeatures().addBinding().to(featureType); return this; }
public JerseyModuleExtender addDynamicFeature(DynamicFeature feature) { contributeDynamicFeatures().addBinding().toInstance(feature); return this; }
public JerseyModuleExtender addResource(Class<?> resource) { contributeResources().addBinding().to(resource); return this; }
public JerseyModuleExtender addPackage(Package aPackage) { contributePackages().addBinding().toInstance(aPackage); return this; }
/** * Sets Jersey container property. This allows setting ResourceConfig properties that can not be set via JAX RS features. * * @param name property name * @param value property value * @return * @see org.glassfish.jersey.server.ServerProperties * @since 0.22 */ public JerseyModuleExtender setProperty(String name, Object value) { contributeProperties().addBinding(name).toInstance(value); return this; }
@Override public void configure(Binder binder) { JerseyModule.extend(binder).addPackage(ApiListingResource.class); } }
@Override public void configure(Binder binder) { JerseyModule.extend(binder).addFeature(MvcFeature.class); MvcModule.extend(binder).initAllExtensions(); }
@Override public void configure(Binder binder) { JettyModule.extend(binder).addMappedServlet(new TypeLiteral<MappedServlet<ServletContainer>>() { }); JerseyModule.extend(binder).initAllExtensions(); }
public JerseyModuleExtender addFeature(Feature feature) { contributeFeatures().addBinding().toInstance(feature); return this; }
public <T extends DynamicFeature> JerseyModuleExtender addDynamicFeature(Class<T> featureType) { contributeDynamicFeatures().addBinding().to(featureType); return this; }
public JerseyModuleExtender addResource(Object resource) { contributeResources().addBinding().toInstance(resource); return this; }
public JerseyModuleExtender addPackage(Class<?> anyClassInPackage) { contributePackages().addBinding().toInstance(anyClassInPackage.getPackage()); return this; }