/** * */ package org.nightlabs.jfire.reporting.admin.ui.oda.jfs.client.ui.property; import org.eclipse.core.runtime.IExecutableExtension; import org.nightlabs.jfire.reporting.oda.jfs.JFSQueryPropertySet; import org.nightlabs.jfire.scripting.id.ScriptRegistryItemID; /** * {@link IJFSQueryPropertySetEditorFactory}s create {@link IJFSQueryPropertySetEditor}s * which are used to create GUI that heĺps collecting the {@link JFSQueryPropertySet} * of a datasource script. * <p> * {@link IJFSQueryPropertySetEditorFactory}s are registered as extension to the * point <code>org.nightlabs.jfire.reporting.admin.queryPropertySetEditor</code>. * </p> * * @author Alexander Bieber <!-- alex [AT] nightlabs [DOT] de --> */ public interface IJFSQueryPropertySetEditorFactory extends IExecutableExtension { /** * Check if this factory can create an appropriate * {@link IJFSQueryPropertySetEditor} to collect the properties of * the Script referenced by the given scriptID. * * @param scriptID The {@link ScriptRegistryItemID} to check. * @return Whether this factory can handle the properties of the referenced script. */ boolean matches(ScriptRegistryItemID scriptID); /** * Create the {@link IJFSQueryPropertySetEditor} of this factory. * @return A new {@link IJFSQueryPropertySetEditor}. */ IJFSQueryPropertySetEditor createJFSQueryPropertySetEditor(); }