package com.rectang.xsm.site;
import com.rectang.xsm.UserData;
import java.util.Vector;
import java.util.List;
/**
* Created by IntelliJ IDEA.
*
* @author Andrew Williams
* @version $Id: HierarchicalPage.java 831 2011-09-25 12:59:18Z andy $
* @since 1.0
*/
public class HierarchicalPage
extends Page
{
private Vector subPages;
public HierarchicalPage( Site site, HierarchicalPage parent, String title )
{
this( site, parent, title, false );
}
public HierarchicalPage( Site site, HierarchicalPage parent, String title, boolean hidden )
{
super( site, parent, title, hidden );
subPages = new Vector();
}
public boolean addSubPage( Page sub )
{
return subPages.add( sub );
}
public boolean removeSubPage( Page sub )
{
return subPages.remove( sub );
}
public void addSubPages( List subs )
{
if ( subs == null )
{
return;
}
subPages.addAll( subs );
}
public List getSubPages()
{
return subPages;
}
public boolean movePageToTop( Page child )
{
int index = subPages.indexOf( child );
if ( index == 0 || index == -1 )
{
return false;
}
subPages.add( 0, subPages.remove( index ) );
return true;
}
public boolean movePageUp( Page child )
{
int index = subPages.indexOf( child );
if ( index == 0 || index == -1 )
{
return false;
}
subPages.add( index - 1, subPages.remove( index ) );
return true;
}
public boolean movePageDown( Page child )
{
int index = subPages.indexOf( child );
if ( index == subPages.size() - 1 || index == -1 )
{
return false;
}
subPages.add( index + 1, subPages.remove( index ) );
return true;
}
public boolean movePageToBottom( Page child )
{
int index = subPages.indexOf( child );
if ( index == subPages.size() - 1 || index == -1 )
{
return false;
}
subPages.add( subPages.size() - 1, subPages.remove( index ) );
return true;
}
public boolean publish( UserData user )
{
return true;
}
public String getType()
{
return "";
}
}