package org.nightlabs.jfire.issuetracking.ui.issuelink; import org.eclipse.core.runtime.IExecutableExtension; import org.eclipse.swt.graphics.Image; import org.nightlabs.jdo.ObjectID; import org.nightlabs.jfire.issue.Issue; /** * @author Chairat Kongarayawetchakun - chairat at nightlabs dot de * */ public interface IssueLinkHandlerFactory<LinkedObjectID extends ObjectID, LinkedObject> extends IExecutableExtension { String getCategoryId(); Class<? extends Object> getLinkedObjectClass(); String getName(); void setName(String name); Image getImage(); void setImage(Image image); /** * @return a <tt>Collection</tt> of {@link IssueLinkAdder} */ IssueLinkAdder createIssueLinkAdder(Issue issue); IssueLinkHandler<LinkedObjectID, LinkedObject> createIssueLinkHandler(); }