Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.structure.page; import java.io.Serializable; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; import org.apache.commons.lang.builder.HashCodeBuilder; import org.jdom.Document; import com.enonic.cms.framework.util.LazyInitializedJDOMDocument; import com.enonic.cms.core.structure.page.template.PageTemplateEntity; public class PageEntity implements Serializable { private int key; private LazyInitializedJDOMDocument xmlData; private PageTemplateEntity template; private Set<PageWindowEntity> pageWindows = new HashSet<PageWindowEntity>(); public PageEntity() { } public PageEntity(final PageEntity page) { this(); this.key = page.getKey(); this.xmlData = page.getXmlData(); this.template = page.getTemplate(); this.pageWindows = new LinkedHashSet<PageWindowEntity>(page.getPageWindows()); } public int getKey() { return key; } public LazyInitializedJDOMDocument getXmlData() { return xmlData; } public Document getXmlDataAsDocument() { if (xmlData == null) { return null; } return xmlData.getDocument(); } public PageTemplateEntity getTemplate() { return template; } public Set<PageWindowEntity> getPageWindows() { return pageWindows; } public void setKey(int key) { this.key = key; } public void setXmlData(Document value) { if (value == null) { this.xmlData = null; } else { this.xmlData = LazyInitializedJDOMDocument.parse(value); } } public void setXmlData(String value) { if (value == null) { this.xmlData = null; } else { this.xmlData = new LazyInitializedJDOMDocument(value); } } public void setTemplate(PageTemplateEntity template) { this.template = template; } public void removeAllPortletPlacements() { this.pageWindows.clear(); } public void addPortletPlacement(PageWindowEntity value) { this.pageWindows.add(value); } public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof PageEntity)) { return false; } PageEntity that = (PageEntity) o; if (key != that.getKey()) { return false; } return true; } public int hashCode() { return new HashCodeBuilder(233, 865).append(key).toHashCode(); } }