![JAR search and dependency download from the Maven repository](/logo.png)
com.squarespace.jersey2.guice.GuiceInjectionResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jersey2-guice Show documentation
Show all versions of jersey2-guice Show documentation
This library adds support for Jersey 2.0 w/ Guice
/*
* Copyright 2014 Squarespace, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.squarespace.jersey2.guice;
import org.glassfish.hk2.api.ActiveDescriptor;
import org.glassfish.hk2.api.Injectee;
import org.glassfish.hk2.api.InjectionResolver;
import org.glassfish.hk2.api.ServiceHandle;
import com.google.inject.Guice;
/**
* The {@link GuiceInjectionResolver} delegates all {@link Guice}'s {@link com.google.inject.Inject}
* binding annotations to JSR-330's {@link javax.inject.Inject}.
*
* @see GuiceThreeThirtyResolver
*/
class GuiceInjectionResolver extends AbstractInjectionResolver {
/**
* The name of the {@link InjectionResolver} for {@link Guice}'s own
* {@link com.google.inject.Inject} binding annotation. It's just a
* delegate to {@link InjectionResolver#SYSTEM_RESOLVER_NAME} and doesn't
* do anything special.
*/
public static final String GUICE_RESOLVER_NAME = "GuiceInjectionResolver";
private final ActiveDescriptor extends InjectionResolver>> descriptor;
public GuiceInjectionResolver(ActiveDescriptor extends InjectionResolver>> descriptor) {
this.descriptor = descriptor;
}
@Override
public Object resolve(Injectee injectee, ServiceHandle> root) {
InjectionResolver> resolver = descriptor.create(root);
return resolver.resolve(injectee, root);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy