/*
* file: AbstractView.java
* author: Jon Iles
* copyright: (c) Packwood Software 2003
* date: 27/10/2003
*/
/*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by the
* Free Software Foundation; either version 2.1 of the License, or (at your
* option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*/
package net.sf.mpxj.mpp;
import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.ProjectProperties;
import net.sf.mpxj.Table;
import net.sf.mpxj.TableContainer;
import net.sf.mpxj.View;
import net.sf.mpxj.ViewType;
/**
* This abstract class implements functionality common to all views.
*/
public abstract class AbstractView implements View
{
/**
* Constructor.
*
* @param parent parent file
*/
public AbstractView(ProjectFile parent)
{
m_properties = parent.getProjectProperties();
m_tables = parent.getTables();
}
/**
* {@inheritDoc}
*/
@Override public Integer getID()
{
return (m_id);
}
/**
* {@inheritDoc}
*/
@Override public String getName()
{
return (m_name);
}
/**
* {@inheritDoc}
*/
@Override public ViewType getType()
{
return (m_type);
}
/**
* Retrieve the name of the table part of the view.
*
* @return table name
*/
public String getTableName()
{
return (m_tableName);
}
/**
* Retrieve an instance of the Table class representing the
* table part of this view.
*
* @return table instance
*/
public Table getTable()
{
return (m_tables.getTaskTableByName(m_tableName));
}
/**
* This method dumps the contents of this View as a String.
* Note that this facility is provided as a debugging aid.
*
* @return formatted contents of this view
*/
@Override public String toString()
{
return ("[View id=" + m_id + " type=" + m_type + " name=" + m_name + (m_tableName == null ? "" : " table=" + m_tableName) + "]");
}
protected ProjectProperties m_properties;
protected TableContainer m_tables;
protected Integer m_id;
protected String m_name;
protected ViewType m_type;
protected String m_tableName;
}