/** * Copyright 2013, WebGate Consulting AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package org.openntf.xpt.oneui.component; import java.util.ArrayList; import java.util.List; import javax.faces.component.UIComponentBase; import javax.faces.context.FacesContext; import org.openntf.xpt.core.utils.ValueBindingSupport; import com.ibm.xsp.util.StateHolderUtil; public class UIAboutPage extends UIComponentBase { public static final String FACET_CONTENT = "content";//$NON-NLS-1$ public static final String COMPONENT_TYPE = "org.openntf.xpt.oneui.component.uiaboutpage"; //$NON-NLS-1$ public static final String COMPONENT_FAMILY = "javax.faces.Panel"; //$NON-NLS-1$ public static final String RENDERER_TYPE = "org.openntf.xpt.oneui.component.uiaboutpage"; //$NON-NLS-1$ private List<UIAboutBlock> m_LeftColumnBlocks; private List<UIAboutBlock> m_RightColumnBlocks; private String m_Title; private String m_MarketingClaim; private String m_ApplicationLogo; private String m_Text; private String m_Style; private String m_StyleClass; public UIAboutPage() { setRendererType(RENDERER_TYPE); } @Override public String getFamily() { return COMPONENT_FAMILY; } public void addLeftColumnBlock(UIAboutBlock abCurrent) { if (m_LeftColumnBlocks == null) { m_LeftColumnBlocks = new ArrayList<UIAboutBlock>(); } m_LeftColumnBlocks.add(abCurrent); } public List<UIAboutBlock> getLeftColumnBlocks() { return m_LeftColumnBlocks; } public void setLeftColumnBlocks(List<UIAboutBlock> leftColumnBlocks) { m_LeftColumnBlocks = leftColumnBlocks; } public void addRightColumnBlock(UIAboutBlock abCurrent) { if (m_RightColumnBlocks == null) { m_RightColumnBlocks = new ArrayList<UIAboutBlock>(); } m_RightColumnBlocks.add(abCurrent); } public List<UIAboutBlock> getRightColumnBlocks() { return m_RightColumnBlocks; } public void setRightColumnBlocks(List<UIAboutBlock> rightColumnBlocks) { m_RightColumnBlocks = rightColumnBlocks; } public String getTitle() { return ValueBindingSupport.getValue(m_Title, "title", this, null, getFacesContext()); } public void setTitle(String title) { m_Title = title; } public String getApplicationLogo() { return ValueBindingSupport.getValue(m_ApplicationLogo, "applicationLogo", this, null, getFacesContext()); } public void setApplicationLogo(String applicationLogo) { m_ApplicationLogo = applicationLogo; } public String getMarketingClaim() { return ValueBindingSupport.getValue(m_MarketingClaim, "marketingClaim", this, null, getFacesContext()); } public void setMarketingClaim(String marketingClaim) { m_MarketingClaim = marketingClaim; } public String getText() { return ValueBindingSupport.getValue(m_Text, "text", this, null, getFacesContext()); } public void setText(String text) { m_Text = text; } public String getStyle() { return ValueBindingSupport.getValue(m_Style, "style", this, null, getFacesContext()); } public void setStyle(String style) { m_Style = style; } public String getStyleClass() { return ValueBindingSupport.getValue(m_StyleClass, "styleClass", this, null, getFacesContext()); } public void setStyleClass(String styleClass) { m_StyleClass = styleClass; } public void restoreState(FacesContext context, Object state) { Object[] values = (Object[]) state; super.restoreState(context, values[0]); m_Title = (String) values[1]; m_MarketingClaim = (String) values[2]; m_Text = (String) values[3]; m_Style = (String) values[4]; m_StyleClass = (String) values[5]; m_LeftColumnBlocks = StateHolderUtil.restoreList(context, getParent(), values[6]); m_RightColumnBlocks = StateHolderUtil.restoreList(context, getParent(), values[7]); } @Override public Object saveState(FacesContext context) { Object[] values = new Object[8]; values[0] = super.saveState(context); values[1] = m_Title; values[2] = m_MarketingClaim; values[3] = m_Text; values[4] = m_Style; values[5] = m_StyleClass; values[6] = StateHolderUtil.saveList(context, m_LeftColumnBlocks); values[7] = StateHolderUtil.saveList(context, m_RightColumnBlocks); return values; } }