package com.idega.builder.facelets; import com.idega.idegaweb.IWMainApplication; import com.sun.facelets.FaceletHandler; import com.sun.facelets.tag.Tag; import com.sun.facelets.tag.TagConfig; import com.sun.facelets.tag.jsf.ComponentConfig; public class BuilderPageComponentConfig implements ComponentConfig { protected final TagConfig parent; //protected final String componentType; protected String rendererType; private String pageId; private String templateReference; private String templateId; public BuilderPageComponentConfig(TagConfig parent, String pageId, String templateReference) { this.parent = parent; this.pageId=pageId; setTemplateReference(templateReference); } public String getTemplateComponentType() { //return this.componentType; return IWMainApplication.BUILDER_PAGE_PREFIX+"_"+getTemplateId(); } public String getComponentType(){ return IWMainApplication.BUILDER_PAGE_PREFIX+"_"+getPageId(); } public String getRendererType() { return this.rendererType; } public FaceletHandler getNextHandler() { return this.parent.getNextHandler(); } public Tag getTag() { return this.parent.getTag(); } public String getTagId() { return this.parent.getTagId(); } public void setPageId(String pageId) { this.pageId = pageId; } public String getPageId() { return pageId; } public void setTemplateReference(String reference) { this.templateReference = reference; decodeTemplateId(templateReference); } public void decodeTemplateId(String templateReference2) { try{ Integer.parseInt(templateReference2); //We have an int templateId: setTemplateId(templateReference2); } catch(NumberFormatException nfe){ //We have an URI reference: setTemplateId(FaceletsUtil.getPageKey(templateReference2)); } } public String getTemplateReference() { return templateReference; } public void setTemplateId(String templateId) { this.templateId = templateId; } public String getTemplateId() { return templateId; } }