/* * Created on Oct 8, 2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com.idega.block.forum.presentation; import com.idega.block.forum.business.ForumBusiness; import com.idega.block.forum.data.ForumData; import com.idega.idegaweb.IWBundle; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.Image; import com.idega.presentation.text.Link; /** * @author Anna */ public abstract class ThreadLink extends ForumLink { private ForumData thread; public ThreadLink(ForumData data) { this.thread = data; } public void showLink(IWContext iwc, int topicID) { Image image = getLinkImage(getBundle()); if (showImage() && image != null) { image.setPaddingRight(getImagePadding()); image.setAlignment(getImageAlignment()); Link imageLink = new Link(image); imageLink.addParameter(ForumBusiness.PARAMETER_TOPIC_ID, topicID); if (addThreadIDToLink()) { imageLink.addParameter(ForumBusiness.PARAMETER_THREAD_ID, String.valueOf(this.thread.getPrimaryKey())); } if (addParentThreadIDToLink()) { imageLink.addParameter(ForumBusiness.PARAMETER_PARENT_THREAD_ID, this.thread.getParentThreadID()); } if (getMode() != null) { imageLink.addParameter(ForumBusiness.PARAMETER_MODE, getMode()); } imageLink.setWindowToOpen(ForumThreadEditor.class); add(imageLink); } Link link = getStyleLink(getLinkName(getResourceBundle()), Forum.LINK_STYLE); link.addParameter(ForumBusiness.PARAMETER_TOPIC_ID, topicID); if (addThreadIDToLink()) { link.addParameter(ForumBusiness.PARAMETER_THREAD_ID, String.valueOf(this.thread.getPrimaryKey())); } if (addParentThreadIDToLink()) { link.addParameter(ForumBusiness.PARAMETER_PARENT_THREAD_ID, this.thread.getParentThreadID()); } if (getMode() != null) { link.addParameter(ForumBusiness.PARAMETER_MODE, getMode()); } link.setWindowToOpen(ForumThreadEditor.class); add(link); } public abstract String getLinkName(IWResourceBundle resourceBundle); public abstract Image getLinkImage(IWBundle bundle); public abstract boolean addThreadIDToLink(); public abstract boolean addParentThreadIDToLink(); public abstract String getMode(); }