/*******************************************************************************
* 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.api.git.params;
/**
* Arguments holder for {@link org.eclipse.che.api.git.GitConnection#listFiles(LsFilesParams)} .
*
* @author Igor Vinokur
*/
public class LsFilesParams {
private boolean isOthers;
private boolean isModified;
private boolean isStaged;
private boolean isCached;
private boolean isDeleted;
private boolean isIgnored;
private boolean isExcludeStandard;
private LsFilesParams() {
}
/**
* Create new {@link LsFilesParams} instance with empty parameters.
*/
public static LsFilesParams create() {
return new LsFilesParams();
}
/**
* Show other (i.e. untracked) files in the output.
*/
public boolean isOthers() {
return isOthers;
}
public LsFilesParams withOthers(boolean others) {
isOthers = others;
return this;
}
/**
* Show modified files in the output.
*/
public boolean isModified() {
return isModified;
}
public LsFilesParams withModified(boolean modified) {
isModified = modified;
return this;
}
/**
* Show staged contents' object name, mode bits and stage number in the output.
*/
public boolean isStaged() {
return isStaged;
}
public LsFilesParams withStaged(boolean staged) {
isStaged = staged;
return this;
}
/**
* Show cached files in the output (default).
*/
public boolean isCached() {
return isCached;
}
public LsFilesParams withCached(boolean cached) {
isCached = cached;
return this;
}
/**
* Show deleted files in the output.
*/
public boolean isDeleted() {
return isDeleted;
}
public LsFilesParams withDeleted(boolean deleted) {
isDeleted = deleted;
return this;
}
/**
* Show only ignored files in the output. When showing files in the index,
* print only those matched by an exclude pattern.
* When showing "other" files, show only those matched by an exclude pattern.
*/
public boolean isIgnored() {
return isIgnored;
}
public LsFilesParams withIgnored(boolean ignored) {
isIgnored = ignored;
return this;
}
/**
* Add the standard Git exclusions: .git/info/exclude,
* .gitignore in each directory, and the user’s global exclusion file.
*/
public boolean isExcludeStandard() {
return isExcludeStandard;
}
public LsFilesParams withExcludeStandard(boolean excludeStandard) {
isExcludeStandard = excludeStandard;
return this;
}
}