blob: bbfc82758d9413aca19f12ba7ee9771ecdf92414 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2005-2007 BEA Systems, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Konstantin Komissarchik
******************************************************************************/
package org.eclipse.wst.common.project.facet.core.runtime;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.wst.common.project.facet.core.IListener;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.runtime.internal.RuntimeManagerImpl;
/**
* @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
*/
public final class RuntimeManager
{
private RuntimeManager() {}
/**
* Returns all of the available runtime component types.
*
* @return all of the available runtime component types
*/
public static Set<IRuntimeComponentType> getRuntimeComponentTypes()
{
return RuntimeManagerImpl.getRuntimeComponentTypes();
}
/**
* Determines whether the specified runtime component type exists.
*
* @param id the runtime component type id
* @return <code>true</code> if the specified runtime component type exists,
* <code>false</code> otherwise
*/
public static boolean isRuntimeComponentTypeDefined( final String id )
{
return RuntimeManagerImpl.isRuntimeComponentTypeDefined( id );
}
/**
* Returns the {@see IRuntimeComponentType} object corresponding to the
* specified runtime component type id.
*
* @param id the runtime componenet type id
* @return the {@see IRuntimeComponentType} object corresponding to the
* specified runtime componenet type id
* @throws IllegalArgumentException if the runtime component type id is not
* recognized
*/
public static IRuntimeComponentType getRuntimeComponentType( final String id )
{
return RuntimeManagerImpl.getRuntimeComponentType( id );
}
/**
* Returns all of the defined runtimes.
*
* @return all of the defined runtimes
*/
public static Set<IRuntime> getRuntimes()
{
return RuntimeManagerImpl.getRuntimes();
}
/**
* Returns the runtimes that support all of the specified facets.
*
* @param facets the facets that need to be supported
* @return the runtimes that support all of the specified facets
*/
public static Set<IRuntime> getRuntimes( final Set<IProjectFacetVersion> facets )
{
return RuntimeManagerImpl.getRuntimes( facets );
}
/**
* Determines whether the specified runtime has been defined.
*
* @param name the runtime name
* @return <code>true</code> if the specified runtime is defined,
* <code>false</code> otherwise
*/
public static boolean isRuntimeDefined( final String name )
{
return RuntimeManagerImpl.isRuntimeDefined( name );
}
/**
* Returns the runtime corresponding to the specified name.
*
* @param name the runtime name
* @return the runtime corresponding to the specified name
* @throws IllegalArgumentException if the runtime name is not recognized
*/
public static IRuntime getRuntime( final String name )
{
return RuntimeManagerImpl.getRuntime( name );
}
/**
* Defines a new runtime.
*
* @param name the runtime name
* @param components the list of runtime componenets
* @param properties the runtime properties
* @return the new runtime
*/
public static IRuntime defineRuntime( final String name,
final List<IRuntimeComponent> components,
final Map<String,String> properties )
{
return RuntimeManagerImpl.defineRuntime( name, components, properties );
}
/**
* Deletes the runtime from the registry.
*
* @param runtime the runtime to delete
*/
public static void deleteRuntime( final IRuntime runtime )
{
RuntimeManagerImpl.deleteRuntime( runtime );
}
/**
* Creates a new runtime componenet. This method is intended to be used in
* conjunction with the {@see defineRuntime(String,List,Map)} method.
*
* @param rcv the runtime component version
* @param properties the runtime component properties
* @return the new runtime component
*/
public static IRuntimeComponent createRuntimeComponent( final IRuntimeComponentVersion rcv,
final Map<String,String> properties )
{
return RuntimeManagerImpl.createRuntimeComponent( rcv, properties );
}
public static void addRuntimeListener( final IListener listener )
{
RuntimeManagerImpl.addRuntimeListener( listener );
}
public static void removeRuntimeListener( final IListener listener )
{
RuntimeManagerImpl.removeRuntimeListener( listener );
}
}