001/* 002 * This library is part of OpenCms - 003 * the Open Source Content Management System 004 * 005 * Copyright (C) Alkacon Software (http://www.alkacon.com) 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * For further information about Alkacon Software, please see the 018 * company website: http://www.alkacon.com 019 * 020 * For further information about OpenCms, please see the 021 * project website: http://www.opencms.org 022 * 023 * You should have received a copy of the GNU Lesser General Public 024 * License along with this library; if not, write to the Free Software 025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 026 */ 027 028package org.opencms.ade.configuration; 029 030import org.opencms.file.CmsResource; 031 032/** 033 * This class contains the model page configuration for a sitemap region.<p> 034 * 035 * @author Georg Westenberger 036 * 037 * @version $Revision: 1.0 $ 038 * 039 * @since 8.0.0 040 */ 041public class CmsModelPageConfig implements I_CmsConfigurationObject<CmsModelPageConfig>, Cloneable { 042 043 /** The model page resource. */ 044 private CmsResource m_resource; 045 046 /** True if this is a default model page. */ 047 private boolean m_isDefault; 048 049 /** True if this bean disables a model page rather than adding one.*/ 050 private boolean m_isDisabled; 051 052 /** 053 * Creates a new model page configuration bean.<p> 054 * 055 * @param res the model page resource 056 * @param isDefault true if this is a default model page 057 * @param isDisabled true if this is a disabled model page 058 */ 059 public CmsModelPageConfig(CmsResource res, boolean isDefault, boolean isDisabled) { 060 061 m_resource = res; 062 m_isDefault = isDefault; 063 m_isDisabled = isDisabled; 064 } 065 066 /** 067 * @see java.lang.Object#clone() 068 */ 069 @Override 070 public CmsModelPageConfig clone() { 071 072 return new CmsModelPageConfig(m_resource, m_isDefault, m_isDisabled); 073 } 074 075 /** 076 * @see org.opencms.ade.configuration.I_CmsConfigurationObject#getKey() 077 */ 078 public String getKey() { 079 080 return m_resource.getStructureId().toString(); 081 } 082 083 /** 084 * Gets the model page resource.<p> 085 * 086 * @return the model page resource 087 */ 088 public CmsResource getResource() { 089 090 return m_resource; 091 } 092 093 /** 094 * Returns true if this is a default model page.<p> 095 * 096 * @return true if this is a default model page 097 */ 098 public boolean isDefault() { 099 100 return m_isDefault; 101 } 102 103 /** 104 * Returns true if this entry disables the model page.<p> 105 * 106 * @return true if this entry disables the model page 107 */ 108 public boolean isDisabled() { 109 110 return m_isDisabled; 111 } 112 113 /** 114 * @see org.opencms.ade.configuration.I_CmsConfigurationObject#merge(org.opencms.ade.configuration.I_CmsConfigurationObject) 115 */ 116 public CmsModelPageConfig merge(CmsModelPageConfig child) { 117 118 return child.clone(); 119 } 120}