/*
 * ULCClientProperties.java
 * Created on Feb 11, 2008
 * Copyright 2007 Tomax Corporation All rights reserved
 * $Header: $ 
 * $Revision: $
 */
package com.tomax.ezlube.login.server;

import java.util.Properties;

import com.ulcjava.base.application.ULCProxy;
import com.ulcjava.base.server.IDispatcher;

public class ULCClientProperties extends ULCProxy {
	private ClientPropertiesUpdateListener fClientPropertiesUpdateListener;
	private Properties clientProperties;

	public Properties getClientProperties() {
		return clientProperties;
	}

	public void setClientProperties(Properties clientProperties) {
		this.clientProperties = clientProperties;
	}

	protected String typeString() {
		return "com.tomax.ezlube.login.client.UIClientProperties";
	}

	public void execClientProperties() {
		invokeUI("updateClientProperties");
	}

	public void updateClientProperties(Object obj) {
		Properties clientProperties = (Properties) obj;
		if (fClientPropertiesUpdateListener != null) {
			fClientPropertiesUpdateListener.clientPropertiesUpdated(obj);
		}
	}

	public void setClientPropertiesUpdateListener(ClientPropertiesUpdateListener listener) {
		fClientPropertiesUpdateListener = listener;
	}

	protected IDispatcher createDispatcher() {
		return new ULCClientPropertiesDispatcher();
	}

	protected class ULCClientPropertiesDispatcher extends ULCProxyDispatcher {
		public final void updateClientProperties(Object obj) {
			ULCClientProperties.this.updateClientProperties((Properties) obj);
		}
	}

	public interface ClientPropertiesUpdateListener {
		public void clientPropertiesUpdated(Object clientProperties);
	}
}
