package org.jboss.media.engine;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Vector;
public class MediaPluginGraph
{
Map graph = new HashMap();
public void addPlugin ( MediaPlugin plugin , int pos)
throws MediaPluginGraphException
{
Integer position = new Integer ( pos ) ;
if(graph.containsKey(position))
throw new MediaPluginGraphException("A plugin already exists in position" + position);
graph.put(position, plugin);
}
public Vector getPluginVector()
{
Vector plugins = new Vector();
int[] keys = new int[graph.keySet().size()];
Iterator it = graph.keySet().iterator();
for( int i = 0 ; i < graph.keySet().size(); i++ )
{
keys[i] = ((Integer)it.next()).intValue();
}
Arrays.sort(keys);
for ( int i = 0 ; i < keys.length ; i++ )
{
Object mediaPlugin = graph.get(new Integer(i));
plugins.add(mediaPlugin);
}
return plugins;
}
}