/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.utils.incubator; /** * Abstract access to a central service registry, intended for use by a single caller. The caller is * responsible for disposing this instance before its own shutdown or destruction. * * @author Robert Mischke */ public interface ServiceRegistryPublisherAccess extends ServiceRegistryAccess{ /** * Registers a service instance of the given type. * * @param <T> the service type to register * @param clazz the class of the service type to register; required for generics resolution * @param implementation the service implementation */ <T> void registerService(Class<T> clazz, Object implementation); /** * Releases this {@link ServiceRegistryPublisherAccess}, which will usually cause all acquired services * to be released, and all registered service instances to be unregistered. */ void dispose(); }