DeveloperSystemManager Class After Editing


package samples.subsystems;

import com.ibm.etools.systems.subsystems.ISystem;
import com.ibm.etools.systems.subsystems.SubSystem;
import com.ibm.etools.systems.subsystems.impl.AbstractSystemManager;

/**
 * This class manages our DeveloperSystem objects, so that if we ever have multiple
 *  subsystem factories, different subsystems can share the same system object if they
 *  share the communication layer.
 */
public class DeveloperSystemManager extends AbstractSystemManager
{
	private static DeveloperSystemManager inst;

	/**
	 * Constructor for DeveloperSystemManager.
	 */
	protected DeveloperSystemManager()
	{
		super();
	}
	
	/**
	 * Return singleton instance
	 */
	public static DeveloperSystemManager getTheDeveloperSystemManager()
	{
		if (inst == null)
		  inst = new DeveloperSystemManager();
		return inst;
	}

	/**
	 * @see com.ibm.etools.systems.subsystems.impl.AbstractSystemManager#createSystemObject(SubSystem)
	 */
	public ISystem createSystemObject(SubSystem subsystem)
	{
		return new DeveloperSystem(subsystem);
	}

	/**
	 * @see com.ibm.etools.systems.subsystems.impl.AbstractSystemManager#sharesSystem(SubSystem)
	 */
	public boolean sharesSystem(SubSystem otherSubSystem)
	{
		return (otherSubSystem instanceof IDeveloperSubSystem);
	}

	/**
	 * @see com.ibm.etools.systems.subsystems.impl.AbstractSystemManager#getSubSystemCommonInterface(SubSystem)
	 */
	public Class getSubSystemCommonInterface(SubSystem subsystem)
	{
		return IDeveloperSubSystem.class;
	}

}


b