/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.portal.engine.model; import java.util.LinkedHashSet; import com.jinhe.tss.portal.entity.PortalStructure; /** * 版面节点对象:用于解析门户中使用到的版面 */ public class SectionNode extends AbstractSubNode implements DecoratorConfigable, LayoutConfigable, IPageElement { private PortalNode portal; // 所属Portal节点对象 private PageNode page; // 所属页面节点对象 private LayoutNode layoutNode; // 版面布局器 private DecoratorNode decoratorNode; // 版面修饰器 public DecoratorNode getDecoratorNode() { return decoratorNode; } public LayoutNode getLayoutNode() { return layoutNode; } public void setDecoratorNode(DecoratorNode decorator) { this.decoratorNode = decorator; } public void setLayoutNode(LayoutNode layout) { this.layoutNode = layout; } public AbstractElementNode getDecoratorContent() { return layoutNode; } public PageNode getPage() { return page; } public PortalNode getPortal() { return portal; } public void setPage(PageNode page) { this.page = page; } public void setPortal(PortalNode portal) { this.portal = portal; } public SectionNode(PortalStructure ps) { this.id = ps.getId(); this.name = ps.getName(); this.code = ps.getCode(); } public Object clone() { SectionNode copy = (SectionNode) super.clone(); copy.children = new LinkedHashSet<Node>(); for( Node child : this.children ){ copy.children.add((Node) child.clone()); } copy.decoratorNode = (DecoratorNode) this.decoratorNode.clone(); copy.layoutNode = (LayoutNode) this.layoutNode.clone(); return copy; } public String getPageElementType() { return "Section"; } }