All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.as.clustering.msc.InjectorDependency Maven / Gradle / Ivy

Go to download

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);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy