1 23 package org.infoglue.deliver.taglib.content; 24 25 import javax.servlet.jsp.JspException ; 26 27 import org.infoglue.cms.entities.management.ContentTypeDefinitionVO; 28 import org.infoglue.deliver.taglib.TemplateControllerTag; 29 30 public class ContentTypeDefinitionTag extends TemplateControllerTag { 31 34 private static final long serialVersionUID = 3257002150969421873L; 35 36 private Integer contentId; 37 private String contentTypeDefinitionName; 38 39 public ContentTypeDefinitionTag() 40 { 41 super(); 42 } 43 44 public int doEndTag() throws JspException 45 { 46 produceResult(getContentTypeDefinition()); 47 return EVAL_PAGE; 48 } 49 50 private ContentTypeDefinitionVO getContentTypeDefinition() throws JspException 51 { 52 if(contentId != null) 53 return getController().getContentTypeDefinitionVO(contentId); 54 else if(contentTypeDefinitionName != null) 55 return getController().getContentTypeDefinitionVO(contentTypeDefinitionName); 56 else 57 throw new JspException ("You must specify either contentId or contentTypeDefinitionName"); 58 } 59 60 public void setContentId(String contentId) throws JspException 61 { 62 this.contentId = evaluateInteger("contentTypeDefinition", "contentId", contentId); 63 } 64 65 public void setContentTypeDefinitionName(String contentTypeDefinitionName) throws JspException 66 { 67 this.contentTypeDefinitionName = evaluateString("contentTypeDefinition", "contentTypeDefinitionName", contentTypeDefinitionName); 68 } 69 70 } 71 | Popular Tags |