blob: 9d6a1f042bdd621b44ac7ce04b10d68cc5485a2d [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.library.edit.process;
import java.util.Collection;
import java.util.List;
import org.eclipse.epf.library.edit.IStatefulItemProvider;
import org.eclipse.epf.library.edit.command.IActionManager;
import org.eclipse.epf.library.edit.command.IResourceAwareCommand;
import org.eclipse.epf.library.edit.util.PredecessorList;
/**
* This is the base interface of all item providers for breakdown element used
* by the Process Editor. It defines the constants for column names and methods
* to support row index, roll-up view, getting/setting breakdown element's
* attributes, predecessor list...
*
* @author Phong Nguyen Le
* @since 1.0
*/
public interface IBSItemProvider extends //ILibraryItemProvider,
IStatefulItemProvider {
/** Column ID constants */
public static final String COL_NAME = "name"; //$NON-NLS-1$
public static final String COL_PREFIX = "prefix"; //$NON-NLS-1$
public static final String COL_ID = "id"; //$NON-NLS-1$
public static final String COL_PREDECESSORS = "predecessors"; //$NON-NLS-1$
public static final String COL_IS_REPEATABLE = "is_repeatable"; //$NON-NLS-1$
public static final String COL_IS_ONGOING = "is_ongoing"; //$NON-NLS-1$
public static final String COL_IS_EVENT_DRIVEN = "is_event_driven"; //$NON-NLS-1$
public static final String COL_ENTRY_STATE = "entry_state"; //$NON-NLS-1$
public static final String COL_EXIT_STATE = "exit_state"; //$NON-NLS-1$
public static final String COL_TEAMS = "teams"; //$NON-NLS-1$
public static final String COL_TYPE = "type"; //$NON-NLS-1$
public static final String COL_MODEL_INFO = "model_info"; //$NON-NLS-1$
public static final String COL_PRESENTATION_NAME = "presentation_name"; //$NON-NLS-1$
public static final String COL_DELIVERABLE = "deliverable"; //$NON-NLS-1$
public static final String COL_IS_OPTIONAL = "is_optional"; //$NON-NLS-1$
public static final String COL_IS_PLANNED = "is_planned"; //$NON-NLS-1$
public static final String COL_HAS_MULTIPLE_OCCURRENCES = "has_multiple_occurrences"; //$NON-NLS-1$
public static final String[] COLUMNS = { COL_NAME, COL_PREFIX, COL_ID,
COL_PREDECESSORS, COL_IS_REPEATABLE, COL_IS_ONGOING,
COL_IS_EVENT_DRIVEN, COL_ENTRY_STATE, COL_EXIT_STATE, COL_TEAMS,
COL_TYPE, COL_MODEL_INFO, COL_PRESENTATION_NAME, COL_DELIVERABLE };
int getId();
void setId(int id);
// IBSItemProvider getItemProvider(EObject eObj);
void setParent(Object obj);
Object getTopItem();
void setTopItem(Object top);
boolean isRolledUp();
void setRolledUp(boolean b);
boolean isFirstElement(Object obj);
boolean isLastElement(Object obj);
// List getFilteredBreakdownElements(Object activityObj, Object obj);
void moveUp(Object obj, IActionManager actionMgr);
void moveDown(Object obj, IActionManager actionMgr);
Collection getEClasses();
// GraphicalData getGraphicalData();
// void setGraphicalData(GraphicalData data);
/**
* Gets the attribute of the given object as a string.
*
* @param object
* @param property
* one of the column ID constants COL_XXX
* @return String value of the attribute
*/
String getAttribute(Object object, String property);
/**
* Sets the attribute of the given object
*
* @param object
* @param property
* one of the column ID constants COL_XXX
* @param textValue
*/
void setAttribute(Object object, String property, String textValue);
List getListeners();
PredecessorList getPredecessors();
Boolean isExpanded();
void setExpanded(Boolean b);
IResourceAwareCommand createDropCommand(Object owner, List dropElements);
}