/** * @since v3.10 */ @PublicSpi public interface ComponentTabPanel extends TabPanel<ComponentTabPanelModuleDescriptor, BrowseComponentContext> { }
@PublicSpi public abstract class AbstractIssueTabPanel implements IssueTabPanel { protected IssueTabPanelModuleDescriptor descriptor; public void init(IssueTabPanelModuleDescriptor descriptor) { this.descriptor = descriptor; } }
/** * Callback interface for code that implements the Visitor Pattern. * * @since v5.2 */ @PublicSpi public interface Visitor<T> { void visit(T element); }
/** * Represents an object that is part of a Page. */ @PublicSpi public interface PageComponent { }
@PublicSpi public interface WorkflowPluginFunctionFactory extends WorkflowPluginFactory { }
/** * An abstract class that can be used as a base for creating implementations of IssueTabPanel3; */ @PublicSpi public abstract class AbstractIssueTabPanel3 implements IssueTabPanel3 { protected IssueTabPanelModuleDescriptor descriptor; public void init(IssueTabPanelModuleDescriptor descriptor) { this.descriptor = descriptor; } }
/** * Version Tab Panel * * @since v3.10 */ @PublicSpi public interface VersionTabPanel extends TabPanel<VersionTabPanelModuleDescriptor, BrowseVersionContext> { }
@PublicSpi public interface CustomFieldStattable { public StatisticsMapper getStatisticsMapper(CustomField customField); }
/** * Represents an item in a menu. * * @since 4.1 */ @PublicSpi public interface MenuItem extends PageComponent { public Object getResult(); public By getLocator(); }
/** * This visitor allows to match {@link Visibility}'s implementations. * * @since v6.4 */ @PublicSpi public interface VisibilityVisitor<T> { T visit(PublicVisibility publicVisibility); T visit(RoleVisibility roleVisibility); T visit(GroupVisibility groupVisibility); T visit(InvalidVisibility invalidVisibility); }
@PublicSpi public abstract class AbstractViewPage extends ConfluenceAbstractPage { protected final Content pageEntity; public AbstractViewPage() { this((Content) null); } public AbstractViewPage(String pageId) { throw new UnsupportedOperationException("Not implemented"); } public AbstractViewPage(Content pageEntity) { this.pageEntity = pageEntity; } }
/** * A specific view of an Issue. Generally this is a different content type (eg. XML, Word or PDF versions * of an issue). * * @see IssueViewModuleDescriptor */ @PublicSpi public interface IssueView { public void init(IssueViewModuleDescriptor issueViewModuleDescriptor); public String getContent(Issue issue, IssueViewRequestParams issueViewRequestParams); public void writeHeaders(Issue issue, RequestHeaders requestHeaders, IssueViewRequestParams issueViewRequestParams); }
/** * Represents a list of items */ @PublicSpi public interface Menu { public Object click(Class<? extends MenuItem> item, Object... args); public WebElement getMenuContainer(); }
/** * Represents a page that includes an Editor. * * @since 4.1 */ @PublicSpi public abstract class EditorPage extends AbstractEditorPage<ViewPage, CreatePage> { public EditorPage() { super(ViewPage.class, CreatePage.class, ViewPage.PAGE_ID_META_IDENTIFIER); } }
@PublicSpi public interface WorkflowPluginValidatorFactory extends WorkflowPluginFactory { }
@PublicSpi public interface WorkflowPluginConditionFactory extends WorkflowPluginFactory { }
/** * A very simple helper class that abstracts away the handling of the descriptor, * * @since v3.12 */ @PublicSpi public abstract class AbstractPluggableProjectOperation implements PluggableProjectOperation { protected volatile ProjectOperationModuleDescriptor descriptor; public void init(ProjectOperationModuleDescriptor descriptor) { this.descriptor = descriptor; } }
/** * This interface is supposed to be implemented by classes which provide an extra rest serializer for a custom field. * This serializer serializes the custom field to another json representation of this custom field. These representations are * returned in issue and search rest endpoint in the <b>versionedRepresentation<b> field which requires to be expanded. * The rest serializer may be defined in the customfield's module descriptor through a <b>rest-serializer</b> element. * This element requires a name as an attribute and a reference to the class that implements this interface in the <b>class</b> attribute. * This interface may be also implemented as a component. * @since v6.4 */ @PublicSpi public interface CustomFieldRestSerializer { JsonData getJsonData(final CustomField field, Issue issue); }
/** * A custom field searcher will implement this interface if the custom field can be sorted. If a custom field * wishes to sort itself, it can use the slower method {@link com.atlassian.jira.issue.customfields.SortableCustomField}. * * @see com.atlassian.jira.issue.customfields.SortableCustomField * @see com.atlassian.jira.issue.customfields.MultiSortableCustomFieldSearcher * @see NaturallyOrderedCustomFieldSearcher */ @PublicSpi public interface SortableCustomFieldSearcher { @Nonnull LuceneFieldSorter getSorter(CustomField customField); }
/** * Allows to check if the application (e.g. JIRA) is running in the cluster environment */ @PublicSpi public interface ClusterEnvironmentProvider { /** * Default single node implementation (always false) just for convenience * This value must be used for single node environments only */ ClusterEnvironmentProvider SINGLE_NODE = () -> false; /** * @return true if the application is running within the cluster environment */ boolean isInCluster(); }