/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.utils.common.service; /** * Defines a service interface/implementation pair that a {@link AdditionalServicesProvider} instance would like to register. * * @author Robert Mischke */ public class AdditionalServiceDeclaration { private final Class<?> serviceClass; private final Object implementation; public <T> AdditionalServiceDeclaration(Class<T> serviceClass, T implementation) { this.serviceClass = serviceClass; this.implementation = implementation; } /** * @return the additional service's interface */ public Class<?> getServiceClass() { return serviceClass; } /** * @return the additional service's implementation; must be an implementation of {@link #getServiceClass()} */ public Object getImplementation() { return implementation; } }