org.eclipse.jgit.api

## Class AddCommand

- java.lang.Object
- - org.eclipse.jgit.api.GitCommand<DirCache>
  - - org.eclipse.jgit.api.AddCommand

All Implemented Interfaces:
  Callable<DirCache>

    public class AddCommand
    extends GitCommand<DirCache>

A class used to execute a `Add` command. It has setters for all supported options and arguments of this command and a `call()` method to finally execute the command. Each instance of this class should only be used for one invocation of the command (means: one call to `call()`)

See Also:
  Git documentation about Add

### Field Summary

### Fields inherited from class org.eclipse.jgit.api.GitCommand

`repo`

### Constructor Summary

Constructors
Constructor and Description
`AddCommand(Repository repo)`

### Method Summary

All Methods Instance Methods Concrete Methods
`AddCommand` `addFilepattern(String filepattern)` Add a path to a file/directory whose content should be added.
`DirCache` `call()` Executes the `Add` command.
`boolean` `isUpdate()`
`AddCommand` `setUpdate(boolean update)`
`AddCommand` `setWorkingTreeIterator(WorkingTreeIterator f)` Allow clients to provide their own implementation of a FileTreeIterator

### Methods inherited from class org.eclipse.jgit.api.GitCommand

`checkCallable, getRepository, setCallable`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AddCommand

    public AddCommand(Repository repo)

Parameters:
  `repo` -

### Method Detail

#### addFilepattern

    public AddCommand addFilepattern(String filepattern)

Add a path to a file/directory whose content should be added.

A directory name (e.g. `dir` to add `dir/file1` and `dir/file2`) can also be given to add all files in the directory, recursively. Fileglobs (e.g. *.c) are not yet supported.

Parameters:
  `filepattern` - repository-relative path of file/directory to add (with `/` as separator)
Returns:
  `this`

#### setWorkingTreeIterator

    public AddCommand setWorkingTreeIterator(WorkingTreeIterator f)

Allow clients to provide their own implementation of a FileTreeIterator

Parameters:
  `f` -
Returns:
  `this`

#### call

    public DirCache call()
                  throws GitAPIException,
                         NoFilepatternException

Executes the `Add` command. Each instance of this class should only be used for one invocation of the command. Don't call this method twice on an instance.

Specified by:
  `call` in interface `Callable<DirCache>`
Specified by:
  `call` in class `GitCommand<DirCache>`
Returns:
  the DirCache after Add
Throws:
  `GitAPIException` - or subclass thereof when an error occurs
  `NoFilepatternException`

#### setUpdate

    public AddCommand setUpdate(boolean update)

Parameters:
  `update` - If set to true, the command only matches `filepattern` against already tracked files in the index rather than the working tree. That means that it will never stage new files, but that it will stage modified new contents of tracked files and that it will remove files from the index if the corresponding files in the working tree have been removed. In contrast to the git command line a `filepattern` must exist also if update is set to true as there is no concept of a working directory here.
Returns:
  `this`

#### isUpdate

    public boolean isUpdate()

Returns:
  is the parameter update is set