import java.util.*;

public class CurScreen {
	private ScreenTemplates screenTemplates;
	private ScreenTemplates screenTemplates;
	private CurScreen curScreen;
	private String value = "";
	private Screen screen;
	public CurScreen(ScreenTemplates screenTemplates, ScreenTemplates screenTemplates, CurScreen curScreen, Screen screen) {
		this.screenTemplates = screenTemplates;
		this.screenTemplates = screenTemplates;
		this.curScreen = curScreen;
		this.screen = screen;
	}
	public String getValue() {
		return new String(this.value);
	}
	public void updateFromState(String scId, String wid, int state) {
		String temp_if5;
		if ((state==0)) {
			temp_if5 = "001";
		} else {
			temp_if5 = this.value;
		}
		this.value = temp_if5;
		String temp_if4;
		if ((state==0)) {
			temp_if4 = "000";
		} else {
			temp_if4 = this.value;
		}
		this.value = temp_if4;
		Map<String, Object> screenTemplate = this.screenTemplate.getValue();
		this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
		this.screen.updateFromCurScreen(this.value, screenTemplate);
		Map<String, Object> screenTemplate = this.screenTemplate.getValue();
		this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
		this.screen.updateFromCurScreen(this.value, screenTemplate);
	}
	public void updateFromState(String scId, String wid, int state) {
		String temp_if5;
		if ((state==0)) {
			temp_if5 = "001";
		} else {
			temp_if5 = this.value;
		}
		this.value = temp_if5;
		String temp_if4;
		if ((state==0)) {
			temp_if4 = "000";
		} else {
			temp_if4 = this.value;
		}
		this.value = temp_if4;
		Map<String, Object> screenTemplate = this.screenTemplate.getValue();
		this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
		this.screen.updateFromCurScreen(this.value, screenTemplate);
		Map<String, Object> screenTemplate = this.screenTemplate.getValue();
		this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
		this.screen.updateFromCurScreen(this.value, screenTemplate);
	}
	public void changeCurScreen(String nextScId) {
		this.value = nextScId;
		Map<String, Object> screenTemplate = this.screenTemplate.getValue();
		this.screenTemplate = screenTemplates.getScreenTemplate(curScreen.getValue());
		this.screen.updateFromCurScreen(this.value, screenTemplate);
	}
}