/**********************************************************************************
* $URL:https://source.sakaiproject.org/svn/osp/trunk/presentation/tool/src/java/org/theospi/portfolio/presentation/tool/DecoratedRegion.java $
* $Id:DecoratedRegion.java 9134 2006-05-08 20:28:42Z chmaurer@iupui.edu $
***********************************************************************************
*
* Copyright (c) 2005, 2006, 2008 The Sakai Foundation
*
* Licensed under the Educational Community 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.opensource.org/licenses/ECL-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.theospi.portfolio.presentation.tool;
import java.util.ArrayList;
import java.util.List;
import javax.faces.component.UIComponent;
import javax.faces.event.ActionEvent;
import org.theospi.portfolio.presentation.component.SequenceComponent;
import org.theospi.portfolio.presentation.model.PresentationPageItem;
import org.theospi.portfolio.presentation.model.PresentationPageRegion;
/**
* Created by IntelliJ IDEA.
* User: John Ellis
* Date: Jan 1, 2006
* Time: 5:59:36 PM
* To change this template use File | Settings | File Templates.
*/
public class DecoratedRegion {
private PresentationPageRegion region;
private int regionItemSeq = 0;
private RegionMap regionMap;
private List regionItemList = null;
public DecoratedRegion(RegionMap regionMap, PresentationPageRegion region) {
this.regionMap = regionMap;
this.region = region;
initRegionList();
}
public DecoratedRegion(RegionSequenceMap regionMap, PresentationPageRegion region, int regionItemSeq) {
this.region = region;
this.regionItemSeq = regionItemSeq;
}
public PresentationPageRegion getBase() {
return region;
}
public PresentationPageItem getItem() {
if (getRegion().getItems().size() <= 0) {
return null;
}
return (PresentationPageItem) getRegion().getItems().get(regionItemSeq);
}
public PresentationPageRegion getRegion() {
return region;
}
public void setRegion(PresentationPageRegion region) {
this.region = region;
}
public int getRegionItemSeq() {
return regionItemSeq;
}
public void setRegionItemSeq(int regionItemSeq) {
this.regionItemSeq = regionItemSeq;
}
public RegionMap getRegionMap() {
return regionMap;
}
public void setRegionMap(RegionMap regionMap) {
this.regionMap = regionMap;
}
public List getRegionItemList() {
return regionItemList;
}
public void setRegionItemList(List regionItemList) {
this.regionItemList = regionItemList;
}
public void initRegionList() {
regionItemList = new ArrayList();
for (int i=0;i<getBase().getItems().size();i++) {
regionItemList.add(new RegionSequenceMap(getRegionMap(), i));
}
}
public void addToSequence(ActionEvent event) {
UIComponent component = event.getComponent();
while (!(component instanceof SequenceComponent) && component != null) {
component = component.getParent();
}
if (component != null) {
((SequenceComponent)component).addToSequence();
}
}
}