
com.almworks.jira.structure.api.StructureServices Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of structure-api Show documentation
Show all versions of structure-api Show documentation
Public API for the Structure Plugin for JIRA
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