org.jboss.as.clustering.msc.InjectorDependency Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wildfly-clustering-common Show documentation
Show all versions of wildfly-clustering-common Show documentation
The code in this module is not explicitly related to clustering, but rather contains resuable code used by clustering modules
and any modules that integrate with clustering.
The newest version!
/*
* Copyright The WildFly Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.jboss.as.clustering.msc;
import org.jboss.msc.inject.Injector;
import org.jboss.msc.service.ServiceBuilder;
import org.jboss.msc.service.ServiceName;
import org.wildfly.clustering.service.Dependency;
import org.wildfly.clustering.service.ServiceNameProvider;
import org.wildfly.clustering.service.ServiceSupplierDependency;
/**
* Service dependency requiring an injector.
* @author Paul Ferraro
* @deprecated Replaced by {@link ServiceSupplierDependency}.
*/
@Deprecated(forRemoval = true)
public class InjectorDependency implements Dependency {
private final ServiceName name;
private final Class targetClass;
private final Injector injector;
public InjectorDependency(ServiceNameProvider provider, Class targetClass, Injector injector) {
this(provider.getServiceName(), targetClass, injector);
}
public InjectorDependency(ServiceName name, Class targetClass, Injector injector) {
this.name = name;
this.targetClass = targetClass;
this.injector = injector;
}
@Override
public ServiceBuilder register(ServiceBuilder builder) {
return builder.addDependency(this.name, this.targetClass, this.injector);
}
}