java.lang.Object
org.nasdanika.models.gitlab.util.Loader

public class Loader extends Object
Loads GitLab model using GitLabApi. Provides low-level loading capabilities at a single element.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Loader(org.gitlab4j.api.GitLabApi gitLabApi)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Blob
    createBlob(long projectId, String refName, org.gitlab4j.api.models.TreeItem blob, org.nasdanika.common.ProgressMonitor progressMonitor)
    Creates and populates a model blob.
    protected Branch
    createBranch(org.gitlab4j.api.models.Branch branch, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected Contributor
    createContributor(org.gitlab4j.api.models.Contributor contributor, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected Group
    createGroup(org.gitlab4j.api.models.Group group, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected Owner
    createOwner(org.gitlab4j.api.models.Owner owner, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected Project
    createProject(org.gitlab4j.api.models.Project project, org.nasdanika.common.ProgressMonitor progressMonitor)
    Creates a new instance of model project.
    protected RepositoryFile
    createRepositoryFile(long projectId, String refName, org.gitlab4j.api.models.TreeItem blob, org.nasdanika.common.ProgressMonitor progressMonitor)
    Creates a model repository file.
    protected Tree
    createTree(long projectId, String refName, org.gitlab4j.api.models.TreeItem tree)
    Creates a model tree.
     
    org.gitlab4j.api.GitLabApi
    Access to the API for configuration.
    protected org.gitlab4j.api.models.GroupFilter
    This implementation returns a new instance of GroupFilter.
    int
     
    void
    loadBranches(long projectId, BiConsumer<Branch,org.nasdanika.common.ProgressMonitor> branchConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected Group
    loadGroup(org.gitlab4j.api.models.Group group, org.gitlab4j.api.GroupApi groupApi, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    void
    loadGroupMembers(long groupId, BiConsumer<Member,org.nasdanika.common.ProgressMonitor> memberConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected void
    loadGroupPager(org.gitlab4j.api.GroupApi groupApi, org.gitlab4j.api.Pager<org.gitlab4j.api.models.Group> groupPager, BiConsumer<Group,org.nasdanika.common.ProgressMonitor> groupConsumer, org.nasdanika.common.ProgressMonitor groupsMonitor)
     
    protected Member
    loadMember(org.gitlab4j.api.models.Member member, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected Project
    loadProject(org.gitlab4j.api.models.Project project, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    void
    loadProjectContributors(long projectId, BiConsumer<Contributor,org.nasdanika.common.ProgressMonitor> contributorConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    protected ProjectLicense
    loadProjectLicense(org.gitlab4j.api.ProjectLicense apiLicense, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    void
    loadProjectMembers(long projectId, BiConsumer<Member,org.nasdanika.common.ProgressMonitor> memberConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    void
    loadProjects(long groupId, BiConsumer<Project,org.nasdanika.common.ProgressMonitor> projectConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    org.gitlab4j.api.models.RepositoryFile
    loadRepositoryFile(long projectId, String path, String refName)
     
    void
    loadSubGroups(long groupId, BiConsumer<Group,org.nasdanika.common.ProgressMonitor> groupConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    void
    loadTopLevelGroups(BiConsumer<Group,org.nasdanika.common.ProgressMonitor> groupConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
     
    void
    loadTree(long projectId, String refName, String path, BiConsumer<TreeItem,org.nasdanika.common.ProgressMonitor> treeItemConsumer, org.nasdanika.common.ProgressMonitor progressMonitor)
    Loads branch tree
    protected void
    populateAbstractUser(org.gitlab4j.api.models.AbstractUser<?> apiUser, AbstractUser user)
     
    void
     
    void
    setPageSize(int pageSize)
    Page size for retrieving groups.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • Loader

      public Loader(org.gitlab4j.api.GitLabApi gitLabApi)
  • Method Details

    • getPageSize

      public int getPageSize()
    • setPageSize

      public void setPageSize(int pageSize)
      Page size for retrieving groups.
      Parameters:
      groupsPageSize -
    • getGitLabApi

      public org.gitlab4j.api.GitLabApi getGitLabApi()
      Access to the API for configuration.
      Returns:
    • getFactory

    • setFactory

      public void setFactory(GitLabFactory factory)
    • getGroupFilter

      protected org.gitlab4j.api.models.GroupFilter getGroupFilter()
      This implementation returns a new instance of GroupFilter. Override to customize.
      Returns:
    • loadTopLevelGroups

      public void loadTopLevelGroups(BiConsumer<Group,org.nasdanika.common.ProgressMonitor> groupConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Parameters:
      groupConsumer - Group bi-consumer which may trigger downstream operations such as loading sub-groups and projects. It takes a group and a progress monitor for group-related downstream operations.
      progressMonitor -
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadSubGroups

      public void loadSubGroups(long groupId, BiConsumer<Group,org.nasdanika.common.ProgressMonitor> groupConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Parameters:
      groupConsumer - Group bi-consumer which may trigger downstream operations such as loading sub-groups and projects. It takes a group and a progress monitor for group-related downstream operations.
      progressMonitor -
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadGroupPager

      protected void loadGroupPager(org.gitlab4j.api.GroupApi groupApi, org.gitlab4j.api.Pager<org.gitlab4j.api.models.Group> groupPager, BiConsumer<Group,org.nasdanika.common.ProgressMonitor> groupConsumer, org.nasdanika.common.ProgressMonitor groupsMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • createGroup

      protected Group createGroup(org.gitlab4j.api.models.Group group, org.nasdanika.common.ProgressMonitor progressMonitor)
    • loadGroup

      protected Group loadGroup(org.gitlab4j.api.models.Group group, org.gitlab4j.api.GroupApi groupApi, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadGroupMembers

      public void loadGroupMembers(long groupId, BiConsumer<Member,org.nasdanika.common.ProgressMonitor> memberConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • populateAbstractUser

      protected void populateAbstractUser(org.gitlab4j.api.models.AbstractUser<?> apiUser, AbstractUser user)
    • loadMember

      protected Member loadMember(org.gitlab4j.api.models.Member member, org.nasdanika.common.ProgressMonitor progressMonitor)
      Parameters:
      member -
      userProvider - Provides a user instance to reference by the member
      progressMonitor -
      Returns:
    • loadProjects

      public void loadProjects(long groupId, BiConsumer<Project,org.nasdanika.common.ProgressMonitor> projectConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • createProject

      protected Project createProject(org.gitlab4j.api.models.Project project, org.nasdanika.common.ProgressMonitor progressMonitor)
      Creates a new instance of model project. Called by loadProject(). This implementation calls getFactory().createProject(). Override to customize creation. E.g. create a subclass of Project, load a project from a prototypes with some information pre-filled, ...
      Parameters:
      project -
      groupProvider -
      projectProvider -
      progressMonitor -
      Returns:
    • createOwner

      protected Owner createOwner(org.gitlab4j.api.models.Owner owner, org.nasdanika.common.ProgressMonitor progressMonitor)
    • createBranch

      protected Branch createBranch(org.gitlab4j.api.models.Branch branch, org.nasdanika.common.ProgressMonitor progressMonitor)
    • createContributor

      protected Contributor createContributor(org.gitlab4j.api.models.Contributor contributor, org.nasdanika.common.ProgressMonitor progressMonitor)
    • loadProjectLicense

      protected ProjectLicense loadProjectLicense(org.gitlab4j.api.ProjectLicense apiLicense, org.nasdanika.common.ProgressMonitor progressMonitor)
    • loadProject

      protected Project loadProject(org.gitlab4j.api.models.Project project, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadProjectMembers

      public void loadProjectMembers(long projectId, BiConsumer<Member,org.nasdanika.common.ProgressMonitor> memberConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadProjectContributors

      public void loadProjectContributors(long projectId, BiConsumer<Contributor,org.nasdanika.common.ProgressMonitor> contributorConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadBranches

      public void loadBranches(long projectId, BiConsumer<Branch,org.nasdanika.common.ProgressMonitor> branchConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException
    • loadTree

      public void loadTree(long projectId, String refName, String path, BiConsumer<TreeItem,org.nasdanika.common.ProgressMonitor> treeItemConsumer, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Loads branch tree
      Parameters:
      project -
      groupProvider -
      projectProvider -
      progressMonitor -
      Throws:
      org.gitlab4j.api.GitLabApiException
    • createTree

      protected Tree createTree(long projectId, String refName, org.gitlab4j.api.models.TreeItem tree)
      Creates a model tree. Override to create specialized trees.
      Parameters:
      modelProject -
      modelBranch -
      tree -
      Returns:
    • createBlob

      protected Blob createBlob(long projectId, String refName, org.gitlab4j.api.models.TreeItem blob, org.nasdanika.common.ProgressMonitor progressMonitor) throws org.gitlab4j.api.GitLabApiException
      Creates and populates a model blob. This implementation returns RepositoryFile. Override to create specialized blobs, e.g. TextRepositoryFile. This method may return null or an instance of org.nasdanika.models.gitlab.Blob to avoid calling to repository file API.
      Parameters:
      modelProject -
      modelBranch -
      blob -
      Returns:
      Throws:
      org.gitlab4j.api.GitLabApiException
    • createRepositoryFile

      protected RepositoryFile createRepositoryFile(long projectId, String refName, org.gitlab4j.api.models.TreeItem blob, org.nasdanika.common.ProgressMonitor progressMonitor)
      Creates a model repository file. This implementation returns RepositoryFile. Override to create specialized blobs, e.g. TextRepositoryFile.
      Parameters:
      modelProject -
      modelBranch -
      blob -
      repositoryFile -
      Returns:
    • loadRepositoryFile

      public org.gitlab4j.api.models.RepositoryFile loadRepositoryFile(long projectId, String path, String refName) throws org.gitlab4j.api.GitLabApiException
      Throws:
      org.gitlab4j.api.GitLabApiException