package cz.muni.fi.rtc.teacherWorkbench.model; import java.util.Set; /** * Interface defining project to be imported * @author Jan Stastny * */ public interface Project { /** * Name of the project. Has to be unique within the RTC server * @return Project name */ public String getName(); /** * Short description of the project * @return Short description of the project */ public String getSummary(); /** * Long description of the project * @return Long description */ public String getDescrition(); /** * Members of the team, including teachers. * Roles of the members are determined by {@link Project#getUserRole(ImportedPerson)} * @return Members of the team */ public SetgetMembers(); /** * ID of the process template the newly created project should use * @return ID of the process template */ public String getProcessTemplate(); /** * Get the process role ID for the given role * @param user User to get role of * @return Role id */ public Set getUserRoles(ImportedPerson user); /** * Tells if the user should be in the root of the organizational hierarchy. * This is typical for teachers, who are not involved in development and therefore * are not members of team * @param user User to test * @return True if the user should be in the root folder */ public boolean isInRoot(ImportedPerson user); }