/******************************************************************************* * Copyright (c) 2012-2015 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.api.project.shared.dto; import org.eclipse.che.api.core.rest.shared.dto.Hyperlinks; import org.eclipse.che.api.core.rest.shared.dto.Link; import org.eclipse.che.dto.shared.DTO; import com.wordnik.swagger.annotations.ApiModelProperty; import java.util.List; import java.util.Map; /** * Data transfer object (DTO) for org.eclipse.che.api.project.shared.ProjectDescription. * * @author andrew00x */ @DTO public interface ProjectDescriptor extends Hyperlinks { /** Gets name of project. */ @ApiModelProperty(value = "Project name", position = 1) String getName(); /** Sets name of project. */ void setName(String name); ProjectDescriptor withName(String name); // /** Gets path of project. */ @ApiModelProperty(value = "Project path", position = 2) String getPath(); /** Sets path of project. */ void setPath(String path); ProjectDescriptor withPath(String path); // /** Gets unique id of type of project. */ @ApiModelProperty(value = "Project type ID", position = 3) String getType(); /** Sets unique id of type of project. */ void setType(String type); ProjectDescriptor withType(String type); // /** Gets display name of project type. */ @ApiModelProperty(value = "Name of a project type", position = 4) String getTypeName(); /** Sets display name of project type. */ void setTypeName(String name); ProjectDescriptor withTypeName(String name); @ApiModelProperty(value = "Mixins of current project", position = 12) List<String> getMixins(); /** Sets permissions of current user on this project. */ void setMixins(List<String> mixins); ProjectDescriptor withMixins(List<String> mixins); /** Gets id of workspace which projects belongs to. */ @ApiModelProperty(value = "Workspace ID", position = 5) String getWorkspaceId(); /** Sets id of workspace which projects belongs to. */ void setWorkspaceId(String workspaceId); ProjectDescriptor withWorkspaceId(String workspaceId); // /** Gets name of workspace this project belongs to. */ @ApiModelProperty(value = "Name of workspace which the project belongs to", position = 6) String getWorkspaceName(); /** Sets name of workspace this project belongs to. */ void setWorkspaceName(String name); ProjectDescriptor withWorkspaceName(String name); // /** Gets attributes of this project. */ @ApiModelProperty(value = "Project attributes", position = 11) Map<String, List<String>> getAttributes(); /** Sets attributes of this project. */ void setAttributes(Map<String, List<String>> attributes); ProjectDescriptor withAttributes(Map<String, List<String>> attributes); // /** Gets project visibility, e.g. private or public. */ @ApiModelProperty(value = "Project privacy. Projects are public by default", allowableValues = "private,public", position = 7) String getVisibility(); /** Sets project visibility, e.g. private or public. */ void setVisibility(String visibility); ProjectDescriptor withVisibility(String visibility); // /** Gets optional description of project. */ @ApiModelProperty(value = "Project description", position = 8) String getDescription(); /** Sets optional description of project. */ void setDescription(String description); ProjectDescriptor withDescription(String description); // /** Gets creation date of project in unix format. */ @ApiModelProperty(value = "Creation date in UNIX Epoch format", dataType = "long", position = 9) long getCreationDate(); /** Sets creation date of project in unix format. */ void setCreationDate(long date); ProjectDescriptor withCreationDate(long date); // /** Gets most recent modification date of project in unix format. */ @ApiModelProperty(value = "Most recent modification date in UNIX Epoch format", dataType = "long", position = 10) long getModificationDate(); /** Sets most recent modification date of project in unix format. */ void setModificationDate(long date); ProjectDescriptor withModificationDate(long date); // /** Gets permissions of current user on this project. Current user is user who retrieved this object. */ @ApiModelProperty(value = "Permissions of current user on the project", position = 12) List<String> getPermissions(); /** Sets permissions of current user on this project. */ void setPermissions(List<String> permissions); ProjectDescriptor withPermissions(List<String> permissions); // /** Gets builder configurations. */ @ApiModelProperty(value = "Builders configuration for the project", position = 13) BuildersDescriptor getBuilders(); /** Sets builder configurations. */ void setBuilders(BuildersDescriptor builders); ProjectDescriptor withBuilders(BuildersDescriptor builders); // /** Gets runner configurations. */ @ApiModelProperty(value = "Runners configuration for the project", position = 14) RunnersDescriptor getRunners(); /** Sets runner configurations. */ void setRunners(RunnersDescriptor runners); ProjectDescriptor withRunners(RunnersDescriptor runners); // /** Gets URL for getting this description of project. */ @ApiModelProperty(value = "Project URL", position = 15) String getBaseUrl(); /** Sets URL for getting this description of project. */ void setBaseUrl(String url); ProjectDescriptor withBaseUrl(String url); // /** Gets URL for opening project in Codenvy IDE. */ @ApiModelProperty(value = "URL for opening project in Codenvy IDE", position = 16) String getIdeUrl(); /** Sets URL for opening project in Codenvy IDE. */ void setIdeUrl(String url); ProjectDescriptor withIdeUrl(String url); // /** Provides information about project errors. If project doesn't have any error this field is empty. */ @ApiModelProperty(value = "Optional information about project errors. If project doesn't have any error this field is empty", position = 17) List<ProjectProblem> getProblems(); /** @see #getProblems */ void setProblems(List<ProjectProblem> problems); ProjectDescriptor withProblems(List<ProjectProblem> problems); // ProjectDescriptor withLinks(List<Link> links); }