Class DfsRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>

  • Type Parameters:
    B - type of the builder class.
    R - type of the repository class.

    public abstract class DfsRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>
    extends BaseRepositoryBuilder<B,​R>
    Constructs a DfsRepository.
    • Constructor Detail

      • DfsRepositoryBuilder

        public DfsRepositoryBuilder()
    • Method Detail

      • getReaderOptions

        public DfsReaderOptions getReaderOptions()
        Returns:
        options used by readers accessing the repository.
      • setReaderOptions

        public B setReaderOptions​(DfsReaderOptions opt)
        Set the reader options.
        Parameters:
        opt - new reader options object.
        Returns:
        this
      • getRepositoryDescription

        public DfsRepositoryDescription getRepositoryDescription()
        Returns:
        a description of the repository.
      • setRepositoryDescription

        public B setRepositoryDescription​(DfsRepositoryDescription desc)
        Set the repository description.
        Parameters:
        desc - new repository description object.
        Returns:
        this
      • setup

        public B setup()
                throws java.lang.IllegalArgumentException,
                       java.io.IOException
        Description copied from class: BaseRepositoryBuilder
        Guess and populate all parameters not already defined.

        If an option was not set, the setup method will try to default the option based on other options. If insufficient information is available, an exception is thrown to the caller.

        Overrides:
        setup in class BaseRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>
        Returns:
        this
        Throws:
        java.lang.IllegalArgumentException - insufficient parameters were set, or some parameters are incompatible with one another.
        java.io.IOException - the repository could not be accessed to configure the rest of the builder's parameters.
      • build

        public abstract R build()
                         throws java.io.IOException
        Create a repository matching the configuration in this builder.

        If an option was not set, the build method will try to default the option based on other options. If insufficient information is available, an exception is thrown to the caller.

        Overrides:
        build in class BaseRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>
        Returns:
        a repository matching this configuration.
        Throws:
        java.lang.IllegalArgumentException - insufficient parameters were set.
        java.io.IOException - the repository could not be accessed to configure the rest of the builder's parameters.
      • setGitDir

        public B setGitDir​(java.io.File gitDir)
        Description copied from class: BaseRepositoryBuilder
        Set the Git directory storing the repository metadata.

        The meta directory stores the objects, references, and meta files like MERGE_HEAD, or the index file. If null the path is assumed to be workTree/.git.

        Overrides:
        setGitDir in class BaseRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>
        Parameters:
        gitDir - GIT_DIR, the repository meta directory.
        Returns:
        this (for chaining calls).
      • addAlternateObjectDirectory

        public B addAlternateObjectDirectory​(java.io.File other)
        Description copied from class: BaseRepositoryBuilder
        Add an alternate object directory to the search list.

        This setting handles one alternate directory at a time, and is provided to support GIT_ALTERNATE_OBJECT_DIRECTORIES.

        Overrides:
        addAlternateObjectDirectory in class BaseRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>
        Parameters:
        other - another objects directory to search after the standard one.
        Returns:
        this (for chaining calls).
      • setIndexFile

        public B setIndexFile​(java.io.File indexFile)
        Description copied from class: BaseRepositoryBuilder
        Set the local index file that is caching checked out file status.

        The location of the index file tracking the status information for each checked out file in workTree. This may be null to assume the default gitDiir/index.

        Overrides:
        setIndexFile in class BaseRepositoryBuilder<B extends DfsRepositoryBuilder,​R extends DfsRepository>
        Parameters:
        indexFile - GIT_INDEX_FILE, the index file location.
        Returns:
        this (for chaining calls).