package com.voxeo.moho.media.fake; import java.io.Serializable; import java.util.LinkedList; import java.util.List; import java.util.UUID; import javax.media.mscontrol.MsControlException; import javax.media.mscontrol.join.Joinable; public class MockJoinable implements Joinable { private String id = UUID.randomUUID().toString(); private List<Joinable> joinables; @Override public final Joinable[] getJoinees() throws MsControlException { if (joinables == null) { joinables = new LinkedList<Joinable>(); } return joinables.toArray(new Joinable[] {}); } @Override public final Joinable[] getJoinees(Direction arg0) throws MsControlException { if (joinables == null) { joinables = new LinkedList<Joinable>(); } return joinables.toArray(new Joinable[] {}); } @Override public final void join(Direction arg0, Joinable arg1) throws MsControlException { if (joinables == null) { joinables = new LinkedList<Joinable>(); } joinables.add(arg1); } @Override public final void joinInitiate(Direction arg0, Joinable arg1, Serializable arg2) throws MsControlException { if (joinables == null) { joinables = new LinkedList<Joinable>(); } joinables.add(arg1); } @Override public final void unjoin(Joinable arg0) throws MsControlException { if (joinables == null) { joinables = new LinkedList<Joinable>(); } joinables.remove(arg0); } @Override public final void unjoinInitiate(Joinable arg0, Serializable arg1) throws MsControlException { if (joinables == null) { joinables = new LinkedList<Joinable>(); } joinables.remove(arg0); } }