/******************************************************************************* * Copyright (c) 2004, 2010 BREDEX GmbH. * 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: * BREDEX GmbH - initial API and implementation and/or initial documentation *******************************************************************************/ package org.eclipse.jubula.client.core.model; import java.util.List; import java.util.Set; import org.eclipse.jubula.tools.internal.constants.StringConstants; /** * @author BREDEX GmbH * @created 19.12.2005 */ public interface IProjectPO extends IParamNodePO { /** Used between project name and version number in display strings */ public static final String NAME_SEPARATOR = StringConstants.UNDERSCORE; /** Used between major and minor version numbers in display strings */ public static final String VERSION_SEPARATOR = StringConstants.DOT; /** indicates disabled auto-cleanup for test result details */ public static final int NO_CLEANUP = -1; /** default for test result details auto-cleanup in days*/ public static final int CLEANUP_DEFAULT = 5; /** * @return Returns the autMainList. */ public abstract Set<IAUTMainPO> getAutMainList(); /** * Adds an AUT to a project. * @param aut The AUT to add. */ public abstract void addAUTMain(IAUTMainPO aut); /** * Removes an AUT from a project. * @param aut The AUT to remove. */ public abstract void removeAUTMain(IAUTMainPO aut); /** * * @return the set of used projects. */ public Set<IReusedProjectPO> getUsedProjects(); /** * * @param reusedProject The project to reuse. */ public void addUsedProject(IReusedProjectPO reusedProject); /** * * @param project The project to remove. */ public void removeUsedProject(IReusedProjectPO project); /** * Clears the reused project set. */ public abstract void clearUsedProjects(); /** * @return Returns the markupLanguage. */ public abstract String getMarkupLanguage(); /** * @param markupLanguage The markupLanguage to set. */ public abstract void setMarkupLanguage(String markupLanguage); /** * @return Returns the specObjCont. */ public abstract ISpecObjContPO getSpecObjCont(); /** * @return Returns the excObjCont. */ public abstract IExecObjContPO getExecObjCont(); /** * @return Returns the test data container. */ public abstract ITestDataCategoryPO getTestDataCubeCont(); /** * All data from this PO is available from delegate methods in IProjectPO. * Use this PO only for locking! * @return the property PO */ public IProjectPropertiesPO getProjectProperties(); /** * @return the metadata version of data in this project */ public abstract Integer getClientMetaDataVersion(); /** * @param metaDataVersion The metaDataVersion to set. */ public abstract void setClientMetaDataVersion(Integer metaDataVersion); /** * @return the major project version of this project */ public abstract Integer getMajorProjectVersion(); /** * @return the minor version number of this project */ public abstract Integer getMinorProjectVersion(); /** * @return the micro version number of this project */ public abstract Integer getMicroProjectVersion(); /** * @return the qualifier version of this project */ public abstract String getProjectVersionQualifier(); /** * @return a String representing the version number of this project */ public abstract String getVersionString(); /** * @return a {@link ProjectVersion} representing the version of the project */ public abstract ProjectVersion getProjectVersion(); /** * * @return a displayable name for the project. The returned String is of the * form: [name]_[majorNumber].[minorNumber] */ public String getDisplayName(); /** * @return <code>true</code> if this project is reusable. Otherwise * <code>false</code>. */ public abstract boolean getIsReusable(); /** * @param isReusable Whether the project should be reusable. */ public void setIsReusable(boolean isReusable); /** * @return <code>true</code> if this project is protected. Otherwise * <code>false</code>. */ public abstract boolean getIsProtected(); /** * @param isProtected Whether the project should be protected. */ public void setIsProtected(boolean isProtected); /** * @return the ALM reporting rules of this project */ public List<IALMReportingRulePO> getALMReportingRules(); /** * @param reportingRules the ALM reporting rules of this project */ public void setALMReportingRules( List<IALMReportingRulePO> reportingRules); /** * @return Whether changes to the project should be stored. */ public boolean getIsTrackingActivated(); /** * @param isTrackingActivated Whether changes to the project should be stored. */ public void setIsTrackingActivated(boolean isTrackingActivated); /** * @return the id of the toolkit of this project */ public abstract String getToolkit(); /** * @param toolkit the id of the toolKit type of this project */ public abstract void setToolkit(String toolkit); /** * @return the the number of days to clean the results for */ public abstract Integer getTestResultCleanupInterval(); /** * @param noOfDays the number of days to clean the results for */ public abstract void setTestResultCleanupInterval(int noOfDays); /** * * @return Returns the AutCont. */ public IAUTContPO getAutCont(); }