All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
 
Base class for scanning loaders that support standard options "baseLevel" and "levels".
 
This is the basic implementation of a structure job, that should be extended by the actual job code.
AbstractSynchronizer is an abstract base class for the synchronizers that provides basic implementation for some of the StructureSynchronizer methods and offers some utility methods for the synchronizers.
 
 
 
 
This is a factory for ActionEffect's.
 
 
 
 
 
 
 
 
 
 
 
 
The context interface for aggregate attribute loaders.
Aggregate attributes have values calculated up through the hierarchy.
 
 
 
 
 
 
Mutable inheritor of Forest class.
Defines how the values provided by an attribute loader are cached.
An AttributeContext is associated with every attribute request and Structure export request.
Allows the attribute loader to declare that the value it produces is calculated using some of the values from the context.
Contains information about problems experienced when loading a particular attribute.
An AttributeLoader contains code that loads values for a particular attribute, represented by AttributeSpec.
 
 
This interface adds methods to AttributeContext that are used only by attribute loaders.
Attributes extension point - you can add new attributes and attribute implementations to the system by implementing this interface and declaring the implementation in atlassian-plugin.xml.
 
Provides context for the creation of attribute loaders.
Attribute sensitivity mode defines the default sensitivity of attributes.
Attribute sensitivity settings govern which attributes will be considered sensitive when calculating a multi-row aggregate value (by an aggregate, a propagate, or a scanning loader).
AttributeSpec is the "attribute specification", a composite identifier of an attribute.
A builder for AttributeSpec.
Provides normalization for attribute spec parameters.
AttributeSubscription represents an interest of the client code in a particular set of attribute values, allowing for background loading.
Provides methods for changing AttributeSubscription parameters.
AttributeSubscriptionService manages attribute subscriptions.
 
Used to check if the previously loaded values may have changed.
Represents a value, or lack thereof.
 
 
AutoSwitchStrategy enum defines how the initial structure is selected when the user opens issue page or project page.
 
Backup operation allows to set backup parameters and run the backup.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ColumnDisplayMode stores constants representing supported column display modes.
Comparable tuple is a tuple consisting of numbers and strings, which is compared on per-component order, starting with the first element (most significant), down to the last one.
 
 
Utility class that is used to log errors that are likely to happen often.
ConsistentRowValues carries the values loaded in a consistent way, that is, when all the requested data retained their values during the loading process.
Core app-level permissions checked by Structure.
 
 
 
 
Produces effect descriptions for common effects provided by Structure.
 
This class contains utility methods for checking and creating ItemIdentity.
This interface lists main item types that come bundled with Structure plugin.
Contains pre-defined semantic codes that are used in Structure.
 
 
Provides access to user-defined "dark" features and fine-tuning parameters.
DataVersion is used to identify whether some content has changed and to support incremental updates.
 
 
 
 
 
 
 
 
The context interface for derived attribute loaders.
Derived loaders calculate the attribute value based only on the attribute dependencies.
 
 
A piece of runnable code generated by an effect provider from an effect description.
 
An output sink for an effector, where it puts its effect descriptions.
An effector is a component that generates effect descriptions based on a forest, a set of attribute values, and a set of user-provided, implementation-specific parameters.
A context object for Effector.getEffectorFunction(Map, EffectorContext), which allows the effector to require attribute values and inspect the forest spec being processed.
Produces effect descriptions, given an item forest and attribute values.
A response object returned by Effector.getEffectorFunction(Map, EffectorContext), containing either an EffectorFunction or a collection of error messages.
An invalid effector response with error messages.
A valid effector response.
An effector instance is a persistent entity, containing an Effector module key and its parameters.
Effector instance manager is responsible for CRUD operations on persistent effector instances.
EffectorPreview stores the results of an effector run in the "preview" mode.
Represents an Effector preview, effect application, or undo background process started by a user.
Represents the status of an effector process.
Manages Effector preview, effect application, and undo background processes.
An exception that an Effector is allowed to throw to indicate that it is currently unavailable.
 
 
An effect provider is responsible for converting effect descriptions to pieces of runnable code.
Information about a single effect applied by an effector process.
The result of resolving an effect description.
Represents an empty response, which means that the requested change is possible, but not required.
Represents an error response, which means that the requested change is impossible.
Represents a valid response, which means that the requested change is both needed and possible.
 
 
 
 
 
ExcelCell is a specialization of ExportCell for exporting to the Microsoft Excel format, offering limited support for Excel-specific styling.
ExcelColumn is a specialization of ExportColumn for exporting to the Microsoft Excel format, offering limited support for Excel-specific styling.
ExcelStyle represents the default cell styles used by Structure's Excel export.
ExportCell represents a single cell in the underlying table-like medium (e.g.
ExportColumn represents a single column in the underlying table-like medium (e.g.
This class contains keys for the AttributeContext.getObject(Object) method that can be used to retrieve various objects needed to perform advanced tasks.
Keys for Excel export requests.
Keys for all export requests.
An enum representing the formats that a structure can be exported into.
A subtype of AttributeContext passed to ExportRenderer.
An ExportRenderer corresponds to a single column of the underlying table-like medium (e.g.
ExportRendererProvider processes the export requests for the Structure widget columns.
A context that is passed to ExportRenderer and ExportRendererProvider during preparation phase of the export.
An ExportRow represents a particular item in an exported Forest.
 
 
 
Forest interface provides indexed access to a data structure that stores row hierarchy (the hierarchy is a sequence of tree structures, a forest).
Provides per-row, per-issue caching and functions to verify row/issue visibility to the user
 
 
 
 
 
 
 
ForestChange represents a single change on a forest.
Represents addition to the forest.
Represents moving one or more rows from their current places in forest under the specified position.
Represents removal of one or more rows.
Represents a complete reorder of the direct children of a given row.
The interface to use when making different actions depending on the specific type of the change.
This interface may be used to collect additional information while forest changes are being made.
ForestIterationControl is an auxiliary object passed to some forest iteration methods for control of the iteration over a forest.
 
Implement this interface to efficiently process a forest in a bottom-up style with Forest.foldUpwards(com.almworks.jira.structure.api.forest.raw.ForestParentChildrenClosure<T, C>).
This is a utility implementation of ForestParentChildrenClosure that collects the results of processing sub-rows into a list.
Lets an iteratee under Forest.scanDownwards(com.almworks.jira.structure.api.forest.raw.ForestScanner) control the iteration and receive additional information about the current position.
 
ForestService manages all structured content.
ForestSource is used to retrieve a forest and get forest updates.
 
ForestSpec is used to identify structured content.
A builder for forest spec.
Represents a SQuery.
Represents a transformation, which is a call to a generator with specified parameters.
 
 
 
 
 
 
 
Class responsible for storing data related to generic item.
 
GenericItemManager is responsible for performing operations with generic items.
GenericItemService is responsible for performing get, create, update and delete operations with generic items.
 
 
 
 
 
GenericItemType is responsible for generic items support in Structure plugin.
 
 
 
 
 
 
 
 
 
Representing i18n parameters: template key and arguments
 
 
This is a temporary object that's passed to a synchronizer and tells what's been changed in structure and in JIRA or in the external system.
Forest-based indexes for common operations like getting parents, children, subtree or siblings.
A RowTree with an index from rowId to its RowTree.Node.
 
 
 
 
 
 
 
IssueChangeEvent represents an event that has happened with a specific issue.
IssueEventBridge is a simple hub that allows to listen to issue changes and report issue changes.
IssueListener is a simple interface that receives notifications that an issue has changed.
These values may be used to optimize the access to StructureRow, based on whether the client code is going to use the StructureRow.getItem(java.lang.Class<I>) method or not, and whether it is important that the current user has access to that item.
The context interface for item attribute loaders.
Item loaders calculate attribute value for a particular item, based on ItemIdentity.
 
An implementor of this interfaces checks if any of changed items may affect a built forest fragment.
 
 
 
 
Fat builder - uses memory-hungry but fast RowTree.
ItemIdentity represents an item, a core concept in Structure's architecture.
Represents long-based ID.
Represents string-based ID.
An implementation of a Set of ItemIdentity, optimized for memory consumption and objects count.
 
 
ItemTracker service provides means to track and report changes to items.
 
This exception is thrown if the application code expects an Item Type with a specific ID to be present, but it isn't registered in the system.
ItemTypeRegistry is an internal service that provides mapping of all known item type keys (module keys) to int values (primary keys in a db table).
 
 
 
 
 
IssueChangeEvent represents the details of a single issue change.
A listing of possible types of events.
 
JiraFunc contains Jira-related functions.
 
 
Workaround for https://jira.atlassian.com/browse/JRA-62034
Utility methods for working with JSON maps.
La<T,R>
La is a utility generic-purpose class for functional expressions.
 
 
 
 
 
 
 
 
 
 
 
Same principle as HistoryConsumer.
 
This event is dispatched when an operation on links is detected - creation of a new link, or removal of existing link.
Represents a value loaded from the attribute system.
An interface that allows access to attribute values, loaded via the attribute system.
 
 
 
todo why don't we add this to ArrayForest? We could have a method indexOfCached() which would consult the cache; todo | the cache would be invalidated on any forest update; also could be "smart" (invalidate only indices after the point of change) todo Or: merge with IndexedForest
 
 
A wrapper for a Map-based structure.
 
 
 
 
Stores mappings from entity ID in the backup file to restored entity ID.
This exception is thrown by RowManager if the code requests a non-existent row.
A multi-row loader provide a value for a single row, but also considering the previously calculated value of the same attribute for some other rows in the forest.
 
 
 
 
 
 
The annotation is used to mark a custom value format as non-sensitive in standard mode.
 
 
 
Helper methods for using numeric functions.
Percentage display style.
 
This enumeration lists possible values for the access levels.
A list of PermissionRules is used to define a PermissionLevel for a given user.
This rules applies a list of rules taken from a Structure, identified by the structure ID.
This rule sets the permission level to a specific value in case the user matches PermissionSubject.
PermissionSubject is an abstraction used to specify which users a particular permission is applicable to.
Represents "anyone", a subject that would match all users, even anonymous.
Represents a specific group in JIRA, matching only the users that belong to that group.
Represents a specific user in JIRA, matching only that user.
Represents a specific project role in a specific project, matching the users that belong to that project role in that project.
Used to visit specific subtypes of PermissionSubject.
 
 
Implement to be pinged
 
 
 
PrintableCell is a specialization of ExportCell for exporting to the printable HTML format.
PrintableColumn is a specialization of ExportColumn for exporting to the printable HTML format.
 
 
 
ProcessFeedback allows communication between process owner and process itself.
ProcessHandle allows accessing process state for reading and for modifications
ProcessHandleManager allows to create new processes and access existing ones
ProcessInfo allows communication between process owner and process itself.
 
ProcessUIController allows configure UI for the process status page.
A ProgressGauge allows you to communicate with a background process.
 
 
The context interface for propagate attribute loaders.
The context interface for preparing children loading function by a propagate.
Propagate attributes have values calculated down through the hierarchy.
 
This interface represents the environment of the StructureQuery being executed.
 
 
 
A base class for aggregate loaders that calculate values using only the specified part of subtree.
Describes a part of subtree to be used for calculating aggregate values.
 
Main value: the aggregation based only on children.
Main value: the aggregation based only on leaves.
Main value: the aggregation based on the whole subtree without self row.
Main value: the aggregation based only on all children.
A simple value holder, used to provide outgoing parameters.
 
 
 
 
 
Restore operation reads a backup file and loads it into the Structure database.
 
 
 
 
 
 
 
 
The base context interface for all row-based attribute loaders.
Common base interface for all row-based attribute loaders.
RowDisplayMode stores constants representing supported row display modes.
RowManager is responsible for maintaining row database and row properties.
RowMapper helps track the original row IDs for copied row.
 
 
RowRetriever is an abstraction of an object that can provide an instance of StructureRow by its numeric ID.
 
RowTree is another representation of the Forest concept.
Represents a single node or a RowTree.
An object that implements RowValues interface is supplied as a result of attributes calculation by StructureAttributeService.
This class contains row values and the update checker that can be used to see if these row values may have been outdated.
 
The context interface for scanning attribute loaders.
Scanning attributes are used to process and aggregate values across all the forest, from top to bottom (depth-first traversal).
 
 
 
 
 
 
CoreAttributeSpec contains the attribute specifications and related constants for the well-known attributes.
 
 
 
 
 
 
 
 
The context interface for single row attribute loaders.
A single row attribute loader provides an attribute value based on a single forest row.
 
 
Usable by AttributeSpec and other Specs that have Map parameters.
 
 
 
A description of an effect that can be stored in the database or passed over the wire.
Builder class for effect descriptions.
This interface lets you inspect and change properties of a structure.
 
 
App-level permission.
StructureAttributeService provides a unified way to retrieve data for items.
This class manages the current authentication context assumed when accessing, managing and updating Structure entities such as Structure or StructureView.
The backup manager is responsible for backup and restore of the structure data.
This is an extension point for Structure backup/restore mechanism.
 
 
StructureComponents is a convenience interface that can be used to retrieve all public services of the Structure plugin (except internal and experimental APIs).
StructureConfiguration provides access to the configuration parameters of the Structure app.
 
Event indicating a structure has been deleted.
StructureError implementations are wrappers around numeric error codes, which also provide the error's category (see StructureErrorCategory) and error name.
Auxiliary annotation, which may be used on a collection of StructureError instances to specify the inclusive range of error codes that is taken by that collection.
Defines categories for errors that may be reported by Structure and its extensions.
StructureErrors is a enumeration of all public Structure errors.
StructureException can be thrown for different causes that involve Structure plugin.
A builder for StructureException.
StructureFavoriteManager manages "favorite" relations between users and structures.
 
 
 
 
 
 
 
 
 
 
 
 
An implementor inserts new items into the containing structure.
 
 
 
With this interface a Structure extension may inform that the plugin adds new features to particular structures.
Register you component in the atlassian-plugin.xml file:
 
Event indicating a structure item has been converted.
 
StructureJob is a single one-time or repetitive background task, run by the StructureJobManager.
Simple enumeration of the possible job states
This exception is thrown by the StructureJobManager when there's a problem with scheduling a job.
StructureJobManager allows running and scheduling background jobs.
 
 
 
StructureListener allows you to listen to changes to the static content in structures.
StructureManager is the main component used to manage structures as entities.
 
StructurePage enum lists all non-admin JIRA pages (page types) that display Structure Widget or that are adjusted by Structure Plugin.
StructurePluginHelper is a helper component that provides a lot of helpful methods and which is extensively used by Structure plugin itself and by Structure extensions.
 
Holds properties associated with the particular structure
StructureProviderException is intended to be used by the code that extends Structure via implementing SPI interfaces.
A structure query is a condition on rows and their relationships in a Forest, such as rows that are children of issues satisfying JQL 'type = Epic' or rows at the top level of the forest.
StructureQueryBuilder allows you to build a structure query with a fluent interface.
This class allows to specify a basic constraint, either on its own, or as the last step of building a relational constraint.
Object of this class contains the state of the builder; you can finish building the query by calling StructureQueryBuilder.Head.end(), or add more constraints, connecting them with StructureQueryBuilder.and or StructureQueryBuilder.or.
This class lets you add operator to the relational constraint being built, or to combine the already added relation with another one via StructureQueryBuilder.OpStep.or().
This class allows you to continue building relational constraint by adding another relation.
 
This class allows you to either build a basic constraint or start building a relational constraint.
 
Object of this class contains the state of the builder inside the currently open parentheses; you can finish building the query in the parentheses and return to the main builder by calling StructureQueryBuilder.Sub.endsub(), or add more constraints inside the parentheses, connecting them with StructureQueryBuilder.and or StructureQueryBuilder.or.
Factory for creating new instances of StructureQueryBuilder.
This is an extension point in the S-JQL, through which you can add custom basic constraints on forest rows to StructureQuery.
Represents the consumer of StructureQueryConstraint.Sequence values - i.e., the consumer of matching indices.
A base implementation for a constraint that looks at a bunch of rows at a time.
A default implementation of an empty sequence.
Allows to implement a sequence of numbers in a generator-like fashion.
A base implementation for a simple constraint that looks at one row at a time.
Utility methods for StructureQueryConstraint implementations.
Parses a structure query expressed in the Structured JQL language.
StructureRow instances represent rows, main building blocks of a forest.
 
 
 
StructureRuntimeException, or its subclass, is thrown when a Structure service experiences an unexpected error, which is not part of the service's contract.
 
 
A StructureSynchronizer is a pluggable Structure extension that allows you to sync structure with any other aspect of issues, be it links, subtasks or anything else.
This exception is thrown by the StructureSyncManager when it cannot perform the requested operation.
StructureSyncManager manages the whole synchronization engine.
 
Contains miscellaneous utility methods.
StructureView represents a view - a named collection of parameters (such as grid columns) that are used to configure how Structure widget displays a structure.
Immutable representation of the StructureView properties.
A builder class for StructureViewBean, this class can be also used as the input for StructureView.update(com.almworks.jira.structure.api.view.StructureViewBean.Builder).
StructureViewManager is a component that manages Structure views.
StructureViewMenuItem is a small helper class that is basically a pair of StructureView and a boolean.
 
The super-root is a fictional row that is present in every forest as the parent of all root rows.
This interface is used by synchronizers to log audit information regarding their actions, configuration changes, etc.
 
 
 
Defines two possible directions for the full synchronization.
SyncEvent with its only subclasses, SyncEvent.Structure and SyncEvent.Jira, is used to represent to incremental synchronization a single change in JIRA or in Structure.
 
 
 
 
SyncInstance represents an instance of a synchronizer, configured with user-specified parameters to act on some structure under some user account.
This is a utility class to log messages from synchronizer implementations.
 
 
 
This class provides total ordering for objects of any type.
Abstract class for defining a set of items (by their ItemIdentity).
Represents a set of all items.
Used to collect specific types and items stored in the TrailItemSet.
Represents an empty set.
Represents a set with just one item.
Represents a set of all items of one specific type.
Alternate visitor interface for reading out the specific items and types.
Represents a set of several specific items.
Represents a set of all items of several specific types.
Visitor interface for analyzing the set.
 
 
Provides access to the user interface settings of the Structure Widget.
A StructureSynchronizer that is able to undo synchronizer actions.
 
 
 
An implementor of this interface checks for an external change that may affect a built forest fragment.
Represents a map of values, with one value per key.
ValueFormat is used as a part of AttributeSpec to define in what format the value should be returned.
Describes how to combine the current value and values aggregated over the part of the subtree (as defined by ReductionStrategy) during aggregate calculation.
VersionedDataSource establishes a way for sources of some data to version their content, to allow caching and incremental updates.
Base class for versioned updates.
VersionedForest represents a Forest, tagged with a DataVersion.
Represents an update from ForestSource.
Represents a full update.
Represents an incremental update.
View settings define a structure's parameters with regards to views - which views are associated with the structure and which views are default on which pages.
AssociatedView is a record of a view association within ViewSettings.
The builder for ViewSettings.AssociatedView record.
View settings builder allows to construct instances of ViewSettings and serialize them into JSON format.
ViewSpecification represents the visual configuration of a structure grid.
A builder for ViewSpecification, also used to serialize view specification into JSON.
Represents a single column configuration in the Structure widget.
ViewSpecification.Column.Builder is used to create instances of ViewSpecification.Column, and also to convert them to JSON format.