package org.nightlabs.jfire.reporting.ui.layout.scheduled.delivery; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.nightlabs.jfire.reporting.ui.ReportingPlugin; /** * @author Alexander Bieber <!-- alex [AT] nightlabs [DOT] de --> * */ public abstract class AbstractDeliveryDelegateEditFactory implements IScheduledReportDeliveryDelegateEditFactory { private String id; private String name; /** * */ public AbstractDeliveryDelegateEditFactory() { } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.layout.scheduled.delivery.IScheduledReportDeliveryDelegateEditFactory#getId() */ @Override public String getId() { return id; } /* (non-Javadoc) * @see org.nightlabs.jfire.reporting.ui.layout.scheduled.delivery.IScheduledReportDeliveryDelegateEditFactory#getName() */ @Override public String getName() { return name; } /* (non-Javadoc) * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object) */ @Override public void setInitializationData(IConfigurationElement element, String attrName, Object configObject) throws CoreException { id = checkString(element, "id"); name = checkString(element, "name"); } private String checkString(IConfigurationElement element, String attributeName) throws CoreException { String str = element.getAttribute(attributeName); if (str == null || str.isEmpty()) { throw new CoreException(errorStatus("Attribute " + attributeName + " for IScheduledReportDeliveryDelegateEditFactory " + this.getClass().getName() + " is invalid")); } return str; } private IStatus errorStatus(String msg) { return new Status(IStatus.ERROR, ReportingPlugin.PLUGIN_ID, msg); } }