package org.yamcs.yarch.management; import java.util.ArrayList; import java.util.Collection; import java.util.List; import javax.management.NotCompliantMBeanException; import javax.management.StandardMBean; import org.yamcs.yarch.Stream; import org.yamcs.yarch.StreamSubscriber; public class StreamControlImpl extends StandardMBean implements StreamControl{ Stream stream; StreamControlImpl(Stream stream) throws NotCompliantMBeanException { super(StreamControl.class); this.stream=stream; } @Override public String getName() { return stream.getName(); } @Override public long getNumEmittedTuples() { return stream.getNumEmittedTuples(); } @Override public String getType() { return stream.getClass().getName(); } @Override public String getSchema() { return stream.getDefinition().getStringDefinition(); } @Override public int getSubscriberCount() { return stream.getSubscriberCount(); } @Override public List<String> getSubscribers() { List<String> sl=new ArrayList<String>(); for(StreamSubscriber ss:stream.getSubscribers()) { sl.add(ss.toString()); } return sl; } }