org.codehaus.plexus.personality.plexus.lifecycle.phase.ServiceLocator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of virtdata-lib-curves4 Show documentation
Show all versions of virtdata-lib-curves4 Show documentation
Statistical sampling library for use in virtdata libraries, based
on apache commons math 4
package org.codehaus.plexus.personality.plexus.lifecycle.phase;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import java.util.List;
import java.util.Map;
/**
* Provides services to components by means of a lookup.
*
* @author Dan Diephouse
*/
public interface ServiceLocator
{
//----------------------------------------------------------------------
// Component lookup
// ----------------------------------------------------------------------
Object lookup( String componentKey )
throws ComponentLookupException;
Object lookup( String role, String roleHint )
throws ComponentLookupException;
Map lookupMap( String role )
throws ComponentLookupException;
List lookupList( String role )
throws ComponentLookupException;
//----------------------------------------------------------------------
// Component release
// ----------------------------------------------------------------------
void release( Object component )
throws ComponentLifecycleException;
void releaseAll( Map components )
throws ComponentLifecycleException;
void releaseAll( List components )
throws ComponentLifecycleException;
// ----------------------------------------------------------------------
// Component discovery
// ----------------------------------------------------------------------
boolean hasComponent( String componentKey );
boolean hasComponent( String role, String roleHint );
}