/******************************************************************************* * 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.dto.shared.DTO; import javax.validation.constraints.NotNull; /** * Base interface for property request. * * @author Vladyslav Zhukovskyi */ @DTO public interface PropertyRequest { /** * @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 */ PropertyRequest withProjectPath(@NotNull final String projectPath); /** * Property name. * * @return property name */ String getName(); /** * Property name. * * @param name * property name */ void setName(String name); /** * Property name. * * @param name * property name */ PropertyRequest withName(String name); /** * Instructs Subversion to limit the scope of an operation to a particular tree depth. ARG is one of empty (only the target itself), * files (the target and any immediate file children thereof), immediates (the target and any immediate children thereof), or infinity * (the target and all of its descendants—full recursion). * * @return depth */ Depth getDepth(); /** * Instructs Subversion to limit the scope of an operation to a particular tree depth. ARG is one of empty (only the target itself), * files (the target and any immediate file children thereof), immediates (the target and any immediate children thereof), or infinity * (the target and all of its descendants—full recursion). * * @param depth * depth */ void setDepth(Depth depth); /** * Instructs Subversion to limit the scope of an operation to a particular tree depth. ARG is one of empty (only the target itself), * files (the target and any immediate file children thereof), immediates (the target and any immediate children thereof), or infinity * (the target and all of its descendants—full recursion). * * @param depth * depth */ PropertyRequest withDepth(Depth depth); /** * Forces a particular command or operation to run. Subversion will prevent you from performing some operations in normal usage, but * you * can pass this option to tell Subversion “I know what I'm doing as well as the possible repercussions of doing it, so let me at 'em.” * This option is the programmatic equivalent of doing your own electrical work with the power on—if you don't know what you're doing, * you're likely to get a nasty shock. * * @return force */ boolean isForce(); /** * Forces a particular command or operation to run. Subversion will prevent you from performing some operations in normal usage, but * you * can pass this option to tell Subversion “I know what I'm doing as well as the possible repercussions of doing it, so let me at 'em.” * This option is the programmatic equivalent of doing your own electrical work with the power on—if you don't know what you're doing, * you're likely to get a nasty shock. * * @param force * force */ void setForce(boolean force); /** * Forces a particular command or operation to run. Subversion will prevent you from performing some operations in normal usage, but * you * can pass this option to tell Subversion “I know what I'm doing as well as the possible repercussions of doing it, so let me at 'em.” * This option is the programmatic equivalent of doing your own electrical work with the power on—if you don't know what you're doing, * you're likely to get a nasty shock. * * @param force * force */ PropertyRequest withForce(boolean force); /** * This removes properties from files, directories, or revisions. * * @return path */ String getPath(); /** * This removes properties from files, directories, or revisions. * * @param path * path */ void setPath(String path); /** * This removes properties from files, directories, or revisions. * * @param path * path */ PropertyRequest withPath(String path); }