All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.almworks.jira.structure.api.StructureServices Maven / Gradle / Ivy

There is a newer version: 17.25.3
Show newest version
package com.almworks.jira.structure.api;

import com.almworks.jira.structure.api.backup.StructureBackupManager;
import com.almworks.jira.structure.api.event.IssueEventBridge;
import com.almworks.jira.structure.api.job.StructureJobManager;
import com.almworks.jira.structure.api.view.StructureViewManager;
import com.almworks.jira.structure.api2g.job.ScheduledJobManager;
import com.almworks.jira.structure.api2g.process.ProcessHandleManager;
import com.almworks.jira.structure.api2g.query.StructureQueryBuilderFactory;
import com.almworks.jira.structure.api2g.query.StructureQueryParser;
import com.almworks.jira.structure.api2g.structure.StructureManager;
import com.almworks.jira.structure.api2g.sync.StructureSyncManager;
import com.atlassian.annotations.PublicApi;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.security.JiraAuthenticationContext;
import org.jetbrains.annotations.NotNull;

/**
 * 

* StructureServices is a convenience interface that can be used to retrieve all public services * of the Structure plugin. You can also get those services from ComponentAccessor or by declaring them * in a constructor of your component and have them injected. *

*

* The convenience is in reducing the number of parameters you declare in the constructor of your * component. *

*

* Note that this service returns the original instances of those services, unlike when the proxies for the * services are injected. *

*

* This class also provides some frequently-used Atlassian interfaces. *

* * todo avoid style of writing only "@return" in javadoc - the generated method table is empty then! It's better to have * only the description than only the @return. * @author Igor Sereda */ @PublicApi public interface StructureServices { /** * @return component that's used to work with structures and forests */ @NotNull StructureManager getStructureManager(); /** * @return component that's used to manage structure configuration */ @NotNull StructureConfiguration getStructureConfiguration(); /** * @return component that's used to work with synchronizers */ @NotNull StructureSyncManager getSyncManager(); /** * @return component that's used to back up and restore structure */ @NotNull StructureBackupManager getBackupManager(); /** * @return component that's used to run asynchronous jobs */ @NotNull StructureJobManager getJobManager(); /** * @return component that is used to schedule recurring asynchronous jobs * @since 14.0.0 (Structure 3.2) todo recheck * */ @NotNull ScheduledJobManager getScheduledJobManager(); /** * @return component that's used to listen and report issue events */ @NotNull IssueEventBridge getIssueEventBridge(); /** * @return component that's used to work with structure views * @since 7.2.0 (Structure 2.0) */ @NotNull StructureViewManager getViewManager(); /** * @return component that's used to access and manage "favorite" relations between users and structures. * @since 7.2.0 (Structure 2.0) */ @NotNull com.almworks.jira.structure.api2g.StructureFavoriteManager getFavoriteManager(); /** * @return component that is used to create Structure queries by parsing them from a String. * @since 8.1.0 (Structure 2.4) * */ @NotNull StructureQueryParser getStructureQueryParser(); /** * @return component that is used to create new instances of Structure query builders. * @since 8.1.0 (Structure 2.4) * */ @NotNull StructureQueryBuilderFactory getStructureQueryBuilderFactory(); /** * @return component that manages tracking long-running background processes and showing progress to the user * */ @NotNull ProcessHandleManager getProcessHandleManager(); /** * @return JIRA component that's used to get the current user */ @NotNull JiraAuthenticationContext getAuthenticationContext(); /** * @return JIRA component that's used to work with issues */ @NotNull IssueManager getIssueManager(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy