/******************************************************************************* * Copyright (c) 2012-2017 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.plugin.svn.shared; import org.eclipse.che.commons.annotation.Nullable; import org.eclipse.che.dto.shared.DTO; import javax.validation.constraints.NotNull; /** * Copy a file or directory in a working copy or in the repository request. * * @author Vladyslav Zhukovskyi */ @DTO public interface CopyRequest { /** * @return the project path the request is associated with. */ String getProjectPath(); /** * @param projectPath * the project path to set */ void setProjectPath(@NotNull final String projectPath); /** * @param projectPath * the project path to use */ CopyRequest withProjectPath(@NotNull final String projectPath); /** * Source file or folder path that should be copied. * * @return source file or folder path to be copied */ String getSource(); /** * @param source * file or folder path to be copied */ void setSource(@NotNull final String source); /** * @param source * file or folder path to be copied */ CopyRequest withSource(@NotNull final String source); /** * Destination file or folder path. * * @return destination file or folder path */ String getDestination(); /** * @param destination * file or folder path */ void setDestination(@NotNull final String destination); /** * @param destination * file or folder path */ CopyRequest withDestination(@NotNull final String destination); /** * Operation comment. * * @return commentary */ String getComment(); /** * @param comment * commentary */ void setComment(String comment); /** * @param comment * commentary */ CopyRequest withComment(String comment); /** @return user name for authentication */ String getUsername(); /** Set user name for authentication. */ void setUsername(@Nullable final String username); /** @return {@link CheckoutRequest} with specified user name for authentication */ CopyRequest withUsername(@Nullable final String username); /** @return password for authentication */ String getPassword(); /** Set password for authentication. */ void setPassword(@Nullable final String password); /** @return {@link CheckoutRequest} with specified password for authentication */ CopyRequest withPassword(@Nullable final String password); }