package com.tandbergtv.watchpoint.boot;

import org.java.plugin.boot.Application;
import org.java.plugin.boot.ApplicationPlugin;
import org.java.plugin.util.ExtendedProperties;

import com.tandbergtv.workflow.core.service.Service;
import com.tandbergtv.workflow.core.service.ServiceRegistry;

/**
 * 
 * ApplicationPlugin implementation of the WatchPoint Plugin.
 * 
 * @author Vijay Silva
 */
public final class WatchPointPlugin extends ApplicationPlugin implements Application, Service
{
	/**
	 * @see org.java.plugin.Plugin#doStart()
	 */
	@Override
	protected void doStart() throws Exception
	{
	}

	/**
	 * @see org.java.plugin.Plugin#doStop()
	 */
	@Override
	protected void doStop() throws Exception
	{
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.workflow.core.service.Service#getServiceName()
	 */
	@Override
	public String getServiceName()
	{
		return "WatchPointPlugin";
	}

	/**
	 * @see org.java.plugin.boot.ApplicationPlugin#initApplication( ExtendedProperties, String[])
	 */
	@Override
	protected Application initApplication(final ExtendedProperties config, final String[] args)
			throws Exception
	{
		ServiceRegistry.getDefault().register(getServiceName(), this);
		return this;
	}

	/**
	 * @see org.java.plugin.boot.Application#startApplication()
	 */
	public void startApplication() throws Exception
	{
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.workflow.core.service.ServiceLifecycle#start()
	 */
	@Override
	public void start()
	{
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.workflow.core.service.ServiceLifecycle#stop()
	 */
	@Override
	public void stop()
	{
	}
}
