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

com.almworks.jira.structure.api2g.StructurePluginHelper Maven / Gradle / Ivy

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

import com.almworks.integers.*;
import com.almworks.jira.structure.api.StructureConfiguration;
import com.almworks.jira.structure.api.StructureError;
import com.almworks.jira.structure.api2g.structure.Structure;
import com.atlassian.crowd.embedded.api.Group;
import com.atlassian.crowd.embedded.api.User;
import com.atlassian.jira.bc.issue.search.SearchService;
import com.atlassian.jira.bc.issue.worklog.TimeTrackingConfiguration;
import com.atlassian.jira.issue.*;
import com.atlassian.jira.issue.search.SearchException;
import com.atlassian.jira.issue.search.SearchRequestManager;
import com.atlassian.jira.jql.operand.JqlOperandResolver;
import com.atlassian.jira.jql.parser.JqlParseException;
import com.atlassian.jira.jql.parser.JqlQueryParser;
import com.atlassian.jira.jql.util.JqlIssueSupport;
import com.atlassian.jira.jql.util.JqlStringSupport;
import com.atlassian.jira.project.Project;
import com.atlassian.jira.project.ProjectManager;
import com.atlassian.jira.security.*;
import com.atlassian.jira.security.roles.ProjectRole;
import com.atlassian.jira.security.roles.ProjectRoleManager;
import com.atlassian.jira.user.ApplicationUser;
import com.atlassian.jira.user.preferences.UserPreferencesManager;
import com.atlassian.jira.user.util.UserManager;
import com.atlassian.jira.util.I18nHelper;
import com.atlassian.jira.util.MessageSet;
import com.atlassian.jira.web.session.SessionSearchObjectManagerFactory;
import com.atlassian.plugin.PluginAccessor;
import com.atlassian.plugin.event.PluginEventManager;
import com.atlassian.plugin.webresource.WebResourceManager;
import com.atlassian.query.Query;
import org.jetbrains.annotations.*;

import java.text.Collator;
import java.util.*;

// 
public interface StructurePluginHelper {
  /**
   * Retrieves an instance of Issue.
   *
   * @param issueId the ID of the issue
   * @return the issue, or null if the issue cannot be found or there is an exception getting it
   */
  @Nullable
  MutableIssue getIssue(long issueId);

  /**
   * Retrieves an instance of issue by issue key.
   *
   * @param key issue key
   * @return the issue, or null if the issue cannot be found or there is an exception getting it
   */
  @Nullable
  MutableIssue getIssue(String key);

  StructureError getIssueError(Long issue, boolean checkEdit);

  StructureError getIssueError(Long issue, boolean checkEdit, User user);

  @Contract("null, _ -> !null")
  StructureError getIssueError(Issue issue, boolean checkEdit);

  @Contract("null, _, _ -> !null")
  StructureError getIssueError(Issue issue, boolean checkEdit, User user);

  // todo make it replace getIssueError?
  @Contract("null, _ -> !null")
  StructureError getIssueError2(Issue issue, boolean checkEdit);

  @Deprecated
  boolean isProjectsStructuredForUser(Project project, User user);

  boolean isProjectStructuredForCurrentUser(Project project);

  void requireLocalizedResource(String resourceKey);

  void requireResource(String resourceKey);

  void requireResourceLocalization(String resourceKey);

  void requireWidgetResource();

  void includeIssueDetailsResources();

  void requireQuickEditResources();

  void requireResourceIfPresent(String key);

  boolean isStructureAvailableToCurrentUser();

  @Deprecated
  boolean isStructureAvailableToUser(User user);

  boolean isStructureAvailableToUser(ApplicationUser user);

  boolean isCreateStructureAllowed(ApplicationUser user);

  boolean isCreateStructureAllowed(User user);

  boolean isSynchronizationAllowed(User user);

  boolean isSynchronizationAllowed(ApplicationUser user);

  boolean isAutomationAccessAllowed(User user);

  boolean isAutomationAccessAllowed(ApplicationUser user);

  WebResourceManager getWebResourceManager();

  JiraAuthenticationContext getAuthenticationContext();

  IssueManager getIssueManager();

  PermissionManager getPermissionManager();

  PluginAccessor getPluginAccessor();

  PluginEventManager getEventManager();

  ProjectManager getProjectManager();

  ProjectRoleManager getProjectRoleManager();

  UserManager getUserManager();

  @Deprecated
  I18nHelper getI18nHelper();

  I18nHelper getI18n();

  ApplicationUser getApplicationUser();

  @Deprecated
  User getUser();

  boolean isAuthenticated();

  boolean isAdmin();

  @Deprecated
  boolean isAdmin(User user);

  boolean isAdmin(ApplicationUser user);

  StructureConfiguration getConfiguration();

  Query getConfigurationScopeQuery();

  boolean isUserInGroup(User user, Group group);

   T instantiate(Class clazz);

  List getAvailableGroups(User user);

  List getAvailableGroupsForCurrentUser();

  List getAvailableRoles();

  List getStructureProjectsForCurrentUser();

  Query getResolvedQuery();

  void filterInvisibleProjects(LongSizedIterable projects, ApplicationUser user, boolean overrideSecurity,
    LongCollector invisibleCollector);

  LongArray searchQuery(String query, User user) throws SearchException, JqlParseException;

  LongArray searchQuery(String query) throws SearchException, JqlParseException;

  LongArray searchQuery(Query query) throws SearchException;

  LongArray searchAndSortQuery(String query) throws SearchException, JqlParseException;

  LongArray searchAndSortQuery(Query query) throws SearchException;

  LongArray searchAndSortQuery(Query query, int limit) throws SearchException;

  @Deprecated
  void matchIssues(
    LongList issues, User user, Query query, boolean collectMatching, boolean overrideSecurity,
    LongCollector collector) throws SearchException;

  void matchIssues(
    LongList issues, Query query, boolean collectMatching, LongCollector collector)
      throws SearchException;

  void matchIssuesSorted(@Nullable LongList issuesSorted, User user, @Nullable Query query,
    boolean collectMatching, boolean overrideSecurity, LongCollector collector) throws SearchException;

  @Deprecated
  void matchIssuesSorted(@Nullable LongList issuesSorted, ApplicationUser user, @Nullable Query query,
    boolean collectMatching, boolean overrideSecurity, LongCollector collector) throws SearchException;

  void matchIssuesSorted(
    @Nullable LongList issuesSorted, @Nullable Query query, boolean collectMatching, LongCollector collector)
            throws SearchException;

  Comparator getStructureComparator(ApplicationUser user);

  Collator getCollator(@Nullable User user);

  Collator getCollator(@Nullable ApplicationUser user);

  I18nHelper getI18n(@Nullable User user);

  I18nHelper getI18n(@Nullable ApplicationUser user);

  @Deprecated
  Boolean isViewCreationAllowed(User user);

  @Deprecated
  Boolean isViewSharingAllowed(User user);

  Boolean isViewCreationAllowed(ApplicationUser user);

  Boolean isViewSharingAllowed(ApplicationUser user);

  JqlIssueSupport getJqlIssueSupport();

  JqlStringSupport getJqlStringSupport();

  JqlQueryParser getJqlQueryParser();

  SearchService getSearchService();

  MessageSet validateQuery(User user, Query query);

  SessionSearchObjectManagerFactory getSessionSearchObjectManagerFactory();

  JqlOperandResolver getJqlOperandResolver();

  SearchRequestManager getSearchRequestManager();

  GlobalPermissionManager getGlobalPermissionManager();

  TimeTrackingConfiguration getTimeTrackingConfiguration();

  UserPreferencesManager getUserPreferencesManager();

  CustomFieldManager getCustomFieldManager();

  boolean isIssueEditable(Issue issue, User user);

  boolean hasPermission(int permissionsId, User user);

  boolean hasPermission(int permissionsId, Issue issue, User user);

  boolean hasPermission(int permissionsId, Project project, User user);

  Locale getLocale();

  void clearAllCachesOnAllNodes();

  void clearAllCaches();

  void clearCurrentUserCaches();

  void clearUserCaches(@NotNull ApplicationUser user);

  boolean isStructureLocked();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy