package com.mycompany;

import messenger.FXPricingMessenger;

public class ServerConnection implements ServerConnectionMBean{
	private FXPricingMessenger messenger;
	
	private boolean connected = false;
	private String subscriptions = "";

	public void setMessenger (FXPricingMessenger messenger) {
		this.messenger = messenger;
	}

	public synchronized boolean getConnected() {
	  return connected;
	}

	public synchronized  void setConnected( boolean connected ) {
	  this.connected = connected;
	}

	public synchronized void connect() {
		messenger.connect();
	}

	public synchronized void disconnect() {
		messenger.disconnect();
	}
	
	
	public synchronized String getSubscriptions() {
		return subscriptions;
	}

	public synchronized void setSubscriptions(String subscriptions) {
		this.subscriptions = subscriptions;
	}
	
	public synchronized void addSubscription(String instrumentName) {
		String subs = this.getSubscriptions();
		if (subs.equals("")) { 
			subs = subs.concat(instrumentName); 
		}
		else {
			subs = subs.concat(',' + instrumentName);
		}
		this.setSubscriptions(subs);
	}	
	
	public synchronized void removeSubscription(String instrumentName) {
		String subs = this.getSubscriptions();
		int l = subs.length();
		subs = subs.replace(instrumentName + ",", "");
		if (subs.length() == l) {
			subs = subs.replace(instrumentName, "");			
		}
		this.setSubscriptions(subs);
	}
}
