Interface Context

All Known Subinterfaces:
ChangeContext, PostUpdateContext, RepoContext

public interface Context
Context for performing a BatchUpdate.

A single update may span multiple changes, but they all belong to a single repo.

  • Method Details

    • getProject

      Project.NameKey getProject()
      Get the project name this update operates on.
      Returns:
      project.
    • getRepoView

      RepoView getRepoView() throws IOException
      Get a read-only view of the open repository for this project.

      Will be opened lazily if necessary.

      Returns:
      repository instance.
      Throws:
      IOException - if an error occurred opening the repo.
    • getRevWalk

      org.eclipse.jgit.revwalk.RevWalk getRevWalk() throws IOException
      Get a walk for this project.

      The repository will be opened lazily if necessary; callers should not close the walk.

      Returns:
      walk.
      Throws:
      IOException - if an error occurred opening the repo.
    • getWhen

      Instant getWhen()
      Get the timestamp at which this update takes place.
      Returns:
      timestamp.
    • getZoneId

      ZoneId getZoneId()
      Get the time zone ID in which this update takes place.

      In the current implementation, this is always the time zone ID of the server.

      Returns:
      zone ID.
    • getUser

      CurrentUser getUser()
      Get the user performing the update.

      In the current implementation, this is always an IdentifiedUser or InternalUser.

      Returns:
      user.
    • getNotify

      NotifyResolver.Result getNotify(Change.Id changeId)
      Get the notification settings configured by the caller.

      If there are multiple changes in a batch, they may have different settings. For example, WIP changes may have reduced NotifyHandling levels, and may be in a batch with non-WIP changes.

      Parameters:
      changeId - change ID
      Returns:
      notification settings.
    • getIdentifiedUser

      default IdentifiedUser getIdentifiedUser()
      Get the identified user performing the update.

      Convenience method for getUser().asIdentifiedUser().

      Returns:
      user.
      See Also:
    • getAccount

      default AccountState getAccount()
      Get the account of the user performing the update.

      Convenience method for getIdentifiedUser().account().

      Returns:
      account.
      See Also:
    • getAccountId

      default Account.Id getAccountId()
      Get the account ID of the user performing the update.

      Convenience method for getUser().getAccountId()

      Returns:
      account ID.
      See Also:
    • newPersonIdent

      default org.eclipse.jgit.lib.PersonIdent newPersonIdent(org.eclipse.jgit.lib.PersonIdent personIdent)
      Creates a new PersonIdent with getWhen() as timestamp.
      Parameters:
      personIdent - PersonIdent to be copied
      Returns:
      copied PersonIdent with getWhen() as timestamp
    • newCommitterIdent

      default org.eclipse.jgit.lib.PersonIdent newCommitterIdent()
      Creates a committer PersonIdent for getIdentifiedUser().
      Returns:
      the created committer PersonIdent
    • newCommitterIdent

      default org.eclipse.jgit.lib.PersonIdent newCommitterIdent(IdentifiedUser user)
      Creates a committer PersonIdent for the given user.
      Parameters:
      user - user for which a committer PersonIdent should be created
      Returns:
      the created committer PersonIdent
    • newCommitterIdent

      default org.eclipse.jgit.lib.PersonIdent newCommitterIdent(String email, IdentifiedUser user)
      Creates a committer PersonIdent for the given user. The identity will be created with the given email if the user is allowed to use it, otherwise fallback to preferred email.
      Parameters:
      user - user for which a committer PersonIdent should be created
      email - committer email of the source commit
      Returns:
      the created committer PersonIdent