All Classes and Interfaces

Class
Description
 
 
 
 
 
 
Enumerates the supported REST API versions exposed by the Goobi viewer.
 
Abstract base class for IIIF Presentation API v2 resource builders, providing shared URI construction and metadata helpers.
Abstract base class for IIIF Presentation API v3 resource builders, providing shared URI construction and metadata helpers.
Abstract base class for calendar browsing items representing a time period (year, month, day, etc.).
Abstract configuration with base getters.
Abstract base class for geo map feature data providers that execute Solr queries and convert the results into MetadataDocument instances for downstream feature generation.
A configurable filter allowing passage to document entities (record, docStruct, page) which satisfy certain conditions.
Abstract base class for entities (users and user groups) that can hold access licenses.
Abstract base class for page loaders that retrieve page metadata for a digitized record from the index.
Abstract base implementation of IPrivilegeHolder that defines the constant arrays of record-level and CMS-level privilege names shared by all concrete privilege holders.
Abstract base class for IIIF Search API parsers that extract text matches from different content sources.
 
Abstract base class for Quartz-scheduled viewer jobs that dispatches work as messages to the message queue.
Binding for all resources which should be authorized by AccessConditionRequestFilter.
JAX-RS request filter that checks access conditions for image and IIIF endpoints.
Utility class providing methods to evaluate access conditions and licence restrictions for records, images, and metadata.
Thrown when the requesting user lacks permission to access the requested resource.
Lightweight class for transferring custom access denied info for usage instead of using persisted classes.
Access permission check outcome.
JAX-RS name binding annotation used to restrict REST endpoint access based on required access rights.
JAX-RS request filter that evaluates access rights for IIIF Presentation resources.
Represents a time-limited access ticket that grants a user access to a restricted record or download, persisted in the access_tickets database table.
Classifies the resource scope an AccessTicket controls access to.
Handles download ticket checks and requests for born-digital files.
JSF session-scoped backing bean that opens the requested record and provides all data relevant to it.
Reads and exposes configuration values from an ActiveMQ XML configuration file, such as the broker connector URI, admin credentials, and the scheduler directory.
Builder for both OrderedCollection and OrderedCollectionPage of Acvitities for the IIIF Discovery API.
Administration backend functions.
Backing bean for pages adminClientEdit.xhtml and adminClients.xhtml.
JSF backing bean for admin comment management, providing CRUD operations for user comments in the admin interface.
JSF backing bean for the admin configuration editor, allowing administrators to view and modify the viewer config file.
JSF application-scoped backing bean for the developer administration panel.
 
Administration backend functions.
Binding for resources which should be authorized by AdminLoggedInFilter.
JAX-RS request filter that only allows requests from sessions belonging to a logged-in Goobi viewer administrator account.
JSF view-scoped backing bean for the theme configuration editor.
 
Configuration element for advanced search fields.
Holds information about the record from which an advanced search was triggered (e.g. from the TOC view).
 
Comparator that orders elements alphabetically by their locale-sensitive translated string representation, using a Collator with primary strength and supporting ascending or descending order.
Comparator that orders elements alphabetically by the plain text extracted from their HTML string representation using Jsoup, with support for ascending or descending order.
Iterator that cycles through the letters of the configured alphabet, used for alphabetical browsing.
This is an updated version with enhancements made by Daniel Migowski, Andre Bogus, and David Koelle To convert to use Templates (Java 1.5+): - Change "implements Comparator" to "implements Comparator" - Change "compare(Object o1, Object o2)" to "compare(String s1, String s2)" - Remove the type checking and casting in compare().
Comparator implementing the Alphanum algorithm, which sorts strings containing numbers in natural numeric order rather than ASCII order, with locale-aware collation and optional translation support.
Creates an AnnotationList of TextualResources from the content of an ALTO document.
Enumerates the ALTO document hierarchy levels at which annotations can be generated, from a full page down to individual words.
IIIF Search API parser that searches for matches within ALTO full-text documents.
Parses an ALTO XML document and extracts its plain text content, preserving the structural hierarchy of pages, text blocks, lines, and words.
Utility class for parsing and processing ALTO (Analyzed Layout and Text Object) XML documents.
 
 
Removes annotations from a persistence context.
 
 
REST resource managing W3C Web Annotations for records and canvas elements, supporting creation, retrieval, and deletion.
REST resource managing W3C Web Annotations for IIIF v3 resources with full CRUD support.
Holds the result set of a IIIF Search API query, containing matched annotations grouped by canvas.
Saves WebAnnotations to a persistence context.
 
 
 
Tests a condition on a collection of values, passing either if any value matches of if none matches, depending on the matchIfEqual property.
Validator that validates any input.
 
 
Jersey ResourceConfig that bootstraps the JAX-RS v1 API, registering resources, providers, filters, and dependency bindings.
Jersey ResourceConfig that bootstraps the JAX-RS v2 API, registering resources, providers, filters, and dependency bindings.
Used for application wide storage of objects accessible to other managed objects.
REST endpoint that returns metadata about available API endpoints and their capabilities.
JSF backing bean for the archive view.
Thrown when an archive resource cannot be used due to a configuration error, such as a missing or invalid configuration value.
Thrown when a connection to an archive backend resource cannot be established or is unexpectedly interrupted.
Single archive tree node.
Metadata list for archive entries.
Abstract base class for all exceptions related to archive resource operations, providing a message-template mechanism that substitutes named resource placeholders.
Loads and holds archive tree models.
 
Short lived bean to store metadata lists for archiveEntries.
Thrown when the content of an archive resource cannot be parsed, for example due to malformed EAD/XML data.
Abstract base class for parsing EAD archive structures and resolving associated Goobi viewer record identifiers from the Solr index.
 
Wrapper class for archive and configuration pairs.
Thrown when an operation on an archive resource is rejected because the resource exceeds a configured size limit.
Table of contents and associated functionality for a record.
REST endpoint handling user authentication, login/logout flows, and OAuth-based API token management.
Thrown when user authentication fails due to invalid credentials or an expired session.
An exception indicating that an error occurred when trying to authenticate a user.
REST resource for resolving authority records and retrieving metadata from linked data sources.
Binding for resources which use an AuthorizationFilter.
JAX-RS request filter that performs token-based authentication and authorization checks for protected API endpoints.
REST resource handling IIIF Access Control Service authorization flows and probe requests.
Utility class for building IIIF Authorization Flow v2 service descriptions.
Implementation of AuthResponseListener which keeps all providers waiting for a response in a ConcurrentHashMap.
java-backend for autocomplete composite component.
WebSocket server endpoint that handles real-time search autocomplete requests by querying the Solr index and returning JSON-formatted suggestion lists to the connected client.
All types of sidebar widgets which are generated automatically if certain conditions are met, usually if certain CMS content exists Currently (22-01) only CMS-Geomaps provide automatic widgets.
Represents a single backup file entry in the configuration editor, holding the timestamp-derived name and position index of the backup within the backup list.
BCrypt implements OpenBSD-style Blowfish password hashing using the scheme described in "A Future-Adaptable Password Scheme" by Niels Provos and David Mazieres.
Utility class for methods that use the FacesContext.
Application scoped cache of issued bearer tokens for IIIF Auth Flow 2.0.
Request DTO for sending user credentials to the Bibliotheca authentication service.
Authentication response object for Bibliotheca.
Authentication provider that validates user credentials against the Bibliotheca library management system.
Represents a single bookmark entry linking a user to a specific record or page.
JSF backing bean for bookmark list management, handling user bookmarks and public sharing.
Represents a named list of bookmarks owned by a user, optionally shareable with others.
REST resource for managing user bookmark lists including creation, sharing, and export in multiple formats.
 
Utility class providing helper methods for bookmark list operations and IIIF collection export.
Database migration step that removes the obsolete main_title column from the bookshelf_items table.
JSF converter that maps between a BookmarkList object and its string representation.
Jackson deserialiser that converts various truthy string representations to a Boolean value.
Jackson serialiser that converts a Boolean value to the string representation expected by the Bibliotheca API.
JSF session-scoped backing bean that manages the breadcrumb navigation trail.
This bean provides the data for collection and term browsing.
Collection tree element.
 
Representation of a search hit.
Interface for metadata and navigation information attached to a collection browse element.
 
Represents a single term in the alphabetical browsing index, with its display label and hit count.
Custom string comparator for browsing terms (case-insensitive, ignores brackets, natural sorting).
Configuration for a single field entry in the alphabetical browsing menu, specifying the Solr field and display options.
Enum controlling the level of detail included when building IIIF Presentation v2 resources.
REST resource providing cache management endpoints for content and image server caches.
A thread-safe, size-bounded LinkedHashMap that evicts the eldest entry when the map exceeds its configured maximum capacity.
This bean provides data for the calendar and time based search entries.
Calendar browsing item representing a single century.
Calendar browsing item representing a single day.
Calendar browsing item representing a single month.
Calendar browsing item representing a single week.
Calendar browsing item representing a single year.
REST resource for calendar data of a record (newspapers, periodicals, multi-volume works, etc.).
Represents a row of calendar items (e.g. a week row within a month view) for display in the calendar widget.
Data for the calendar view of an individual record (e.g. newspaper).
A Campaign is a template to create annotations of specific types for a limited set of target resources and optionally by limited user group within a limited time frame.
The visibility of the campaign to other users.
Enumerates the review workflows available for a crowdsourcing campaign, controlling whether annotations require a second pass by another user.
Statistics calculation mode (status per record or per record page).
Endpoint that maps HTTP session IDs to connected web sockets.
An item containing a campaign and a source to be annotated.
REST resource for retrieving activity logs and progress statistics for crowdsourcing campaign items.
 
REST resource for accessing crowdsourcing campaign items and submitting annotations.
Used to create or read a list of WebAnnotations sorted by their target (a iiif manifest or canvas).
 
Annotation status of a single page in a record in the context of a particular campaign.
Annotation status of a record in the context of a particular campaign.
A persistence object holding a translated String value.
 
Handles security question checks.
A TranslatedSelectable which may also contain a list of categories.
 
 
Represents an RSS channel with its metadata and collection of feed items.
Wraps a single value together with a backing collection to model a checkbox selection state, where the checkbox is considered selected when the value is present in the collection.
Represents a formatted citation for a digitized record, wrapping a CSL citation processor with item metadata to generate bibliography output in a given citation style.
Implements the CSL ItemDataProvider interface by mapping Goobi Viewer metadata fields to CSL item data for citation formatting.
Represents a configurable citation link for a digitized record.
Defines the user-facing action triggered when a CitationLink is activated.
Defines the structural level of a digitized object to which a CitationLink refers.
Defines whether a CitationLink points to an internal viewer URL or an external URL built from a Solr field value.
Contains a list of CitationLinks along with a viewManager state which tracks current page number and logId The method CitationList.isCurrent(ViewManager) checks whether this list reflects to same state as the given ViewManager regarding the level of the included citation links.
Session-scoped wrapper that manages lazily created CSL citation processors, keyed by CSL style name, and provides shared access to the underlying CitationDataProvider.
Utility class providing static helper methods for building and resolving citation links from Solr documents, supporting record, docstruct, and image level citations.
 
Status describing if the client is eligible to receive viewing privileges.
 
Class managing registration and log-in of ClientApplications.
REST resource for managing client application registrations and their access credentials.
Request body DTO for PUT /clients/{id}.
CMS content type that embeds the advanced search form into a CMS page, allowing editors to configure the search template and result group used for the advanced search interface.
Configuration model for an EAD archive tree embedded in a CMS page.
CMS content type that embeds the EAD archive tree browser into a CMS page, optionally displaying the selected archive entry in an overlay.
JSF backing bean for the CMS archive administration view.
CMS functions.
CMS content type that renders an alphabetical browse index for a configurable Solr field, supporting paginated navigation through indexed terms.
Managed Bean for editing, deleting and creating categories.
Represents a category tag that can be assigned to CMS pages and media items for grouping.
Marks a CMS content object that can be associated with one or more CMSCategory instances, providing methods to retrieve, add, and remove categories.
Converts all Tags and Classifications from previous viewer-cms versions to the CMSCategory system.
A class representing persistent configurations for a collection.
CMS content type that displays a digital collection hierarchy for a configurable Solr field, supporting sorting, filtering by sub-collection, and integration with the collection view.
Bean handling CMS settings for collections.
 
A persistence object holding a translated String value.
Object representing tab status for a collection tree.
Represents a reusable UI component on a CMS page, combining a JSF component reference with ordered content items, display metadata, and optional access restrictions.
Additional properties that can be passed to the component to set certain behaviour.
Represents a configurable attribute of a CMS component, loaded from a component template XML element, carrying a name, label, type, a list of selectable Options, and the currently active value.
Groups a named set of CMSComponent instances together, typically used to organise available CMS components into logical sections in the editor UI.
Reads CMS component definitions from XML template files and constructs CMSComponent instances including their JSF component references, content items, and metadata.
Defines the rendering context in which a CMS component is visible.
Interface for all classes containing a specific kind of content for a CMSPage.
Helper class used during the CMS page migration that converts raw legacy database rows into typed CMSContent objects.
Converts legacy CMS content item data (represented as raw property maps) into the corresponding typed CMSContent objects used by the current CMS model.
Wraps a CMSContent within a CMSPage.
A contentItem to be used in a CMSPage template.
Enumerates the content item types used by the legacy CMS template system, allowing lookup by the type name string as found in CMS template XML files.
Converts cms_media_items.link_url from the LONGBLOB datatype (URI in java) to TEXT (String in java).
CMS content type that embeds a downloadable document file from the CMS media library into a CMS page, restricting selectable media to document file types.
JSF backing bean that manages dynamic content components embedded in CMS pages.
Exception to throw if an invalid state is reached when editing/creating a cms page.
Exception to use when failing to retrieve CMS content.
CMS content type that embeds a configured GeoMap into a CMS page, linking the content to a persisted geo map entity.
CMS content type that displays a filterable list of CMS media images on a CMS page, supporting category-based filtering, a configurable items-per-page limit, and random ordering.
JSF backing bean for CMS media file management including upload, editing, and deletion.
CMS content type that holds a reference to a single CMS media item (image or file) and renders it on a CMS page; serves as the base class for more specific media content types.
Any object which may directly contain a CMSMediaItem.
REST resource for serving CMS media images with optional resizing.
 
Represents a media file (image, video, audio, or document) managed in the CMS media library.
Enumerates the display priority levels for a CMS media item, distinguishing items that should be highlighted from those with default treatment.
Stores locale-specific metadata (title, description, link) for a CMSMediaItem.
Provides filtered and sorted lists of CMSMediaItem objects from the DAO, supporting tag-based filtering, a priority slot mechanism, and optional random ordering.
Extension of CMSMediaHolder for content components that manage multiple CMS media items, each addressed by a zero-based index.
REST resource for accessing CMS media files with filtering by category and type.
REST resource for accessing CMS media files in the v2 API with category and type filtering.
Converts cms_media_items.link_url from the LONGBLOB datatype (URI in java) to TEXT (String in java).
CMS content for longer texts, holding up to 16,777,215 characters (all translations combined).
CMS content type that renders a configurable set of Solr metadata fields for the currently viewed record on a CMS page.
Class holding a formatted text related to a single PI which may be edited in the admin/cms-backend and displayed in a (sidebar) widget.
JSF backing bean for managing the CMS navigation menu structure.
Represents a single item in the CMS navigation menu with label, target URL, and child items.
Enumerates the visibility rules that determine for which users a navigation item is rendered.
Manages loading, persisting, and reordering of CMS navigation menu items.
Represents a CMS page with configurable content components, metadata, and URL mappings.
 
Loads components to include in a CMSPage.
JSF converter that maps between a CMS page object and its string identifier.
JSF backing bean for creating and editing CMS pages including content and metadata.
Used to select whether sidebar widgets or main content is being edited in adminCmsCreatePage.
CMS content type that displays a list of CMS pages on a CMS page, with optional category filtering, configurable item count, and random ordering support.
REST resource for retrieving CMS page content and metadata.
Page templates are read from XML configuration files and are not stored in the DB.
Template to create a CMSPage.
JSF view-scoped backing bean for the CMS page template editor.
Database migration step that converts CMS pages from the legacy content-item/language-version schema to the current component-based schema, including template creation and table cleanup.
Represents a generic key-value property that can be attached to CMS pages for custom metadata.
CMS content type that displays a paginated list of digitized records matching a configurable Solr query on a CMS page, supporting custom sort fields and items-per-page settings.
Class holding a formatted text related to a single PI which may be edited in the admin/cms-backend and displayed in a (sidebar) widget.
 
Bean used for listing and retrieving CMSRecordNotes.
Extends cms_record_notes table by row 'note_type' which discriminates between the implementing classes.
CMS content type that renders an RSS feed widget on a CMS page, supporting a configurable item count and an optional Solr filter query to restrict the displayed entries.
CMS content type that embeds the standard search results view into a CMS page, managing search state, pagination, hit list layout, and search facets configuration.
CMS content type that renders a search facets panel on a CMS page, allowing configuration of which Solr facet field is exposed to the user.
CMS content for small texts, holding up to 4,294,967,295 characters (all translations combined).
Represents a sidebar widget embedded in a CMS page with its configuration and position.
Wrapper for automatic widgets contained in a CMSPage.
Wrapper element for custom (user created) sidebar widgets.
Wrapper element for default (static) sidebar widgets.
JSF backing bean that manages sidebar widget configuration for CMS pages.
Class holding a formatted text related to a single PI which may be edited in the admin/cms-backend and displayed in a (sidebar) widget.
Class to persist sliders ("slideshows") created in CMS backend.
Enumerates the data source types from which a CMSSlider can retrieve its content, such as Solr-queried records, collections, CMS pages, or media items.
 
CMS content type that embeds a configured CMSSlider into a CMS page, linking the content to a persisted slider entity.
 
REST resource providing slider configuration and media items for CMS carousel components.
Maps a CMS page to a static viewer page URL, allowing CMS content to replace built-in viewer pages.
Loads and provides access to available CMS page templates from the filesystem.
JSF validator that checks CMS page titles for uniqueness and validity constraints.
Builds IIIF Presentation API v2 Collection resources from Solr index data.
Builds IIIF Presentation API v3 Collection resources from Solr index data.
A labeled link targeting a collection browse page, carrying the collection name alongside label and URL.
REST resource for browsing collection hierarchies and retrieving collection metadata.
REST resource providing IIIF Presentation v3 collection endpoints for collection browsing.
Manages the hierarchical collection browsing state, including tree structure, sorting, and Solr queries.
 
Creates and stored CollectionViews for a session.
 
JSF backing bean for user comment display and submission on record detail pages.
Filtered view on collections.
Database migration step that ensures the static "all comments" CommentGroup exists in the database, creating it if it is missing.
Legacy comment model for migrating user comments from the old persistence format.
 
Class to create comments from a text input for a given PI and page order and to save them using a given AnnotationSaver.
Wraps a Solr document to provide year-based comparison and sorting for calendar display.
A numeric Condition that matches a test value by comparing it against a threshold, either requiring the test value to be greater than or equal to the threshold, or strictly less.
Representation of one or more Solr documents of DOCTYPE 'Metadata'.
Container that groups multiple ComplexMetadata instances by their Solr field name, constructed from a collection of Solr metadata documents belonging to a single record.
Wraps a list of ComplexMetadata entries and provides sorting, filtering, grouping, and value-extraction operations over that list, optionally using related-document references.
A labeled link composed of a primary and a secondary link component.
Condition checker.
Endpoint for unlocking files opened in AdminConfigEditorBean when leaving a page.
Central configuration holder that reads and provides access to all viewer configuration settings from the config XML file.
This is a wrapper class for the Configuration class for access from HTML.
A configurable filter allowing passage to document entities (record, docStruct, page) which satisfy certain conditions The filter itself may contain condition filters which determine if the filter should be applied to an entity.
Describes the scope within which a declaration of consent (i.e. clicking the 'accept' button) is valid.
The scope within which the consent is valid.
JPA AttributeConverter that maps ConsentScope objects to and from their string representation for persistent storage.
Manages contentAssist requests by returning lists of suggested values from partial input.
Supplies additional content for records (such contents produced by the crowdsourcing module).
JAX-RS exception mapper that converts ContentLibException instances to HTTP error responses with appropriate status codes.
 
Optional property of a ContentItem within a template Allows additional control about which fields are shown in the cms-backend for this item.
The publication state of a content item, determining what kind of users may see the item on a page.
Thrown when a content type is unsupported, unrecognised, or cannot be processed by the requested operation.
Servlet context listener that initialises and tears down application-wide resources and services on deployment and undeployment.
Utility class for converting ABBYY FineReader recognition output to ALTO XML format.
Class to persist settings for the cookie banner.
JSF backing bean for enabling and configuring the cookie banner feature.
 
Detects word coordinates in alto document.
Discovers and holds all available ICoordinateReader implementations via classpath scanning and provides the appropriate reader for a given coordinate string.
Represents a license entry for the copyright indicator widget, consisting of a human-readable description and a list of icon identifiers.
Represents the aggregated copyright indicator status for a digitized record, pairing a CopyrightIndicatorStatus.Status value with a human-readable description.
Enumerates the three possible access levels for a copyright indicator: fully open, partially restricted, or fully locked.
Group item for core messages.
Adds an "Access-Control-Allow-Origin" header to a REST response with the value configured in Configuration.getCORSHeaderValue().
Message handler that processes requests to generate EPUB download files for digitized records.
Message handler that processes requests to generate PDF download files for digitized records.
Bean for uploading Dublin Core records.
An Annotation class to store annotation in a database.
JSF backing bean for crowdsourcing campaign management, providing access to campaigns and annotation tasks.
Binding for resources which should use the CrowdsourcingCampaignFilter to check access.
JAX-RS request filter that allows access to crowdsourcing campaign resources for sessions owned by a logged-in user who has access to the campaign.
 
Utility class providing static helper methods for crowdsourcing-related checks, such as determining whether a user owns any user groups assigned to campaigns.
Response object for GET /api/v1/users/current.
Class to persist user generated CMS-Sidebar widgets in the database.
JSF view-scoped backing bean for the custom sidebar widget editor.
Types of sidebar widgets that contain individual configuration and must be created by a user.
Persistence class holding the usage statistics for a single day in the form of a list of SessionUsageStatistics.
 
Thrown when a database access operation fails.
Functional interface for paginated, sorted, and filtered DAO search operations that return a list of entities.
Management tool to updated deprecated viewer database setups to the one required by the viewer. to be run at viewer start, right after initializing the dao Appplies a fixed list of IModelUpdates to the IDAO which are responsible to make the required changes
Utility class for locating and accessing data files (ALTO, TEI, etc.) on the viewer file system.
Application-scoped singleton that acts as the central access point for the DAO, configuration, and other core services.
Responsible for retrieving data from Index to build any IIIF resources.
Holds the file-system paths and ordered file lists for a single digitised record (dataset), including its metadata file, image folder, PDF folder, ALTO folder, and the ordered media and PDF file lists.
Simple key-value storage abstraction used to pass arbitrary data between components.
Utility methods for date parsing, etc.
 
Contains a list of collection names and an additional String "sortAfter" denoting the collection after which the listed collections are to be inserted.
Enrich strings with sensitive data which is in some way encrypted or stored as environment variable by the system.
Background listener that continuously polls an ActiveMQ queue and dispatches incoming messages to the appropriate message handler.
Default implementation of the URL builder interface, constructing standard viewer page URLs.
 
Types of widgets that are always available for CMS pages and cannot be configured.
Message handler that deletes a file or directory at a given path from the local filesystem.
Description for an RSS feed object.
Servlet that delivers images in the format expected by the DFG Viewer image protocol.
Class to persist settings for the disclaimer modal.
JSF backing bean that checks whether the disclaimer applies to a page/record and provides a configuration JSON object for the disclaimer JavaScript.
JSF backing bean for configuring and editing disclaimer texts in the admin interface.
DisplayConditions tests whether GUI elements in record views should be visible by a number of factors.
Wrapper for a UIComponent with convenience methods to count contained jsf components with certain attributes.
Describes the locations in the viewer where a notification should be displayed.
The type of viewer-pages that are in scope.
JPA AttributeConverter that serialises DisplayScope objects to a JSON string for database storage and deserialises them back on read.
UserGeneratedContent stub class for displaying contents generated by the crowdsourcing module.
Enumerates the semantic content types for user-generated annotations, such as person, address, comment, geolocation, or normdata.
 
Feature data provider that retrieves structural document elements (DOCTYPE:DOCSTRCT) from Solr for use in geo map feature generation, supporting large result sets via query expansion.
REST API model representing a digitized document identified by its persistent identifier (PI), together with the NER tag groups found across its pages.
JSF backing bean for managing file download requests from the viewer, tracking download status and links.
Binding for all requests to io.goobi.viewer.api.rest.v1.downloads.DownloadResource.
Thrown when an error occurs during a file download operation.
Message handler that downloads external resource files (e.g.
Abstract base class for asynchronous download jobs that generate files (e.g.
Download option configuration item.
Represents an asynchronous file download in progress, holding a Future for the resulting Path, the total expected file size, and a progress monitor that reports how many bytes have been written so far.
Endpoint that maps HTTP session IDs to connected web sockets.
Enumerates the client-initiated actions that can be sent over the WebSocket connection to control or query a download task.
 
 
Enumerates the runtime states of a download task as communicated to WebSocket clients.
 
 
 
 
Old style page loading strategy (load all pages and keep them in memory).
REST API model referencing a single named-entity element within a page of a digitized document.
Duplicate validator for e-mail addresses.
Represents a named email recipient with an identifier, a display label, an email address, and a flag indicating whether it is the default recipient.
Sends plain-text and HTML e-mails via a configured SMTP server, supporting SSL, STARTTLS, and authenticated connections.
Syntax validator for e-mail addresses.
Page loader that doesn't actually load any pages (for special purposes like TOC generation).
Download job that generates an EPUB file for a given digitized record using the intranda EPUB converter library.
REST API response model that carries an HTTP status code, a human-readable error description, and an optional stack trace.
Event.
Holds an Apache POI streaming workbook and provides a method to write its content to an output stream.
Renders CrowdsourcingAnnotation records into an XLSX workbook, grouping annotations by sheet name and writing one row per annotation with columns for ID, record, page, campaign, author, and body value.
Holds the configuration for a single field in a data export, combining the Solr field name with an optional human-readable display label that falls back to the field name when not set.
Downloads files or ZIP archives from remote URIs to a local target directory, with optional decryption and progress tracking.
Value object representing the state of an in-progress or completed external file download job, including download progress, target path, message ID, and any error description.
REST resource for accessing externally-hosted images referenced in digitized records.
REST resource for accessing externally-hosted images via the v2 IIIF image service.
A subtype of CustomSidebarWidget to display a list of possible values of a given SOLR field and link to a search listing of items with a specific value.
Represents a single facet value with its display label, hit count, and selection state.
Enumerates the structural types of a facet field, determining how its values are queried, displayed, and filtered in the search UI.
Class to create maps for facet values and their respective counts which are automatically sorted according to a given sort order.
A map container indicating the the contained map is created using one of the getSortedMap methods.
Converts MetadataDocument objects retrieved from Solr into GeoJSON GeoMapFeature instances for rendering on geo maps.
Generates Solr search filter queries for geo map features based on coordinate and label metadata extracted from a given MetadataContainer.
Abstract JPA base entity representing a set of geo-map features with a marker style and optional name, persisted in a single table with subclass-specific discriminator values.
Configuration for a map feature set, describing the type, name, marker icon, Solr query, filter, and metadata lists used to render a group of map features.
Convenience class for user feedback submission.
JSF request-scoped backing bean for the user feedback form.
Manages per-session exclusive edit locks for configuration files in the config editor, preventing concurrent modifications by different HTTP sessions.
Represents a single editable configuration file entry in the config editor, providing metadata such as the file path, display index, type, and read/write accessibility.
 
Utility class for determining and formatting file sizes.
Builds and caches the list of FileRecord entries shown in the configuration editor, scanning the configured directories and appending read-only default configuration files.
File I/O utilities.
An enum of possible file types available for a record.
Encapsulates file uploading via JSF h:inputFile.
How the filter condition of a ConfiguredValueFilter is applied.
Parses the filterQuery parameter from an HTTP request's query string and returns it as a decoded Solr filter query string.
Utility class providing shared helper methods for JAX-RS request filters.
Marker interface for CMS component functionality objects that are aware of a current page number.
Class for extracting the actual search term from a fuzzy search.
A generic, purpose-neutral PersistentAnnotation that can be used wherever no specialised annotation subtype applies.
Thin wrapper around a Java List that serializes its contents directly as a JSON array via JsonValue.
Utility methods for converting geo-coordinated between different formats.
 
 
ICoordinateReader implementation that parses GeoJSON strings, supporting plain geometry objects, feature objects, and feature collections.
Represents a single geographic location with coordinates and an optional display label.
Aggregates geographic location data for a record, including multiple coordinate points and their display properties.
 
Enumerates the strategies used to populate a GeoMap with geographic features: either by evaluating a Solr query or by using manually entered feature sets.
Bean for managing GeoMaps in the admin Backend.
 
Represents a single item associated with a geo-map feature, carrying a multilingual label, a navigation link, and a map of additional metadata fields.
Represents a named filter group for geo-map items, consisting of a set of labeled filter values that can be serialised to JSON for use in the map frontend.
Represents a configurable map marker used in geo maps, holding visual properties such as icon, colors, shape, and marker type (default, ExtraMarkers, or DivIcon) for rendering on a Leaflet map.
Enumerates the supported Leaflet marker rendering strategies: default Leaflet markers, ExtraMarkers plugin markers, and DivIcon-based markers.
Database migration step that converts the legacy flat GeoMap structure into the feature-set model and migrates the aggregate_results column to the search_scope field.
Message handler that refreshes geo map feature sets by reloading their Solr-based data and updating the application cache.
Custom configurator that exposes the HTTP session to the web socket endpoint.
Composite feature data provider that aggregates results from record, docstruct, and metadata Solr queries to supply geo map features across all document types.
 
Cronjob.
Interface describing objects that can be queried via HarvestServlet.
Servlet for harvesting crowdsourcing data and overview pages.
Represents a node in the collection browse hierarchy with child elements, hit counts, and display metadata.
Wraps a HighlightData entity to provide a view-layer object for a highlighted content item, including thumbnail generation, metadata loading, and multilingual label support.
JPA entity storing the persistent configuration for a highlighted content item, including its name, display date range, enabled state, target type, and associated media.
Enumerates the strategies for selecting the image displayed alongside a highlight entry: no image, an explicitly uploaded image, or the representative thumbnail of the associated record.
Enumerates the possible targets of a highlight entry, either a catalogued record identified by a persistent identifier or an arbitrary URL.
Managed bean handling Highlight objects.
Status of editing the selected highlight in the administration backend.
Enumerates the available display modes for a search result list: DETAILS shows full detail cards, TILES shows a tile/grid layout, and LIST shows a compact list.
Classifies a search hit by the type of Solr document it originates from, such as a record, structure element, metadata group, user-generated content entry, or CMS page.
Tools for parsing html.
Validates that any input text has no "script" tags.
A subtype of CustomSidebarWidget to display a html text in different languages.
Validates that any input text has no html-tags other than <br>, <b>, <strong>, <em>, <i>, <mark>, <small>, <del>, <ins>, <sub>, <sup>.
Authentication provider that delegates credential validation to an external HTTP endpoint.
Thrown when an HTTP request returns an unexpected or error response code.
Authentication provider that authenticates users by reading a user identifier from an HTTP request header (or parameter), then looking up or creating the corresponding User account.
Encodes responses into UTF-8 and prevents proxy caching.
Classes implementing this interface must provide a method returning the appropriate access denied replacement thumnnail URL.
Represents any shape on a GeoMap, mainly points and polygons.
Interface of all user authentication related actions, particularly logging in and out of a viewer user account.
Represents a single selectable item in a calendar navigation (e.g. a year, month, or day entry).
Strategy interface for reading a coordinate string and converting it into a GeoJSON Geometry.
Central data-access interface for the Goobi viewer, defining all persistence operations for the application's domain objects.
Thrown when a requested IDDOC (internal Solr document identifier) cannot be found in the index.
This Servlet maps a given lucene field value to a url and then either redirects there or forwards there, depending on the config.
 
Strategy interface for retrieving MetadataDocument results from a data source (e.g. the Solr index) based on a query and optional facet filters.
Interface for filter configurations that evaluate whether a given value passes a set of conditions.
 
Creates urls to IIIF Presentation api calls to get manifests, canvases, annotationLists or layers.
Binding interface to collect all services for the IIIF presentation API.
JAX-RS request filter for all IIIF Presentation resources.
Adds the @context property to all IIIF Presentation responses in the topmost json element.
Creates a IIIF Search API v1.0 response as SearchResult.
Utility class for constructing and parsing IIIF Image API and Presentation API URLs.
Represents an entity (user, user group, IP range, or client application) that can hold access licenses in the Goobi viewer.
Minimal interface for license type objects, requiring only a name accessor.
Converter for either LicenseType or Campaign objects.
Thrown when a URL parameter contains an invalid or disallowed value.
Default implementation of ContentServerResponseFilter to apply this filter in /api/v1/ environment.
Provides methods for creation all urls for media delivery (images and other) Examples: imageDelivery.thumbs.thumbnailUrl(pyhsicalElement[, width, height]) imageDelivery.thumbs.thumbnailUrl(structElement[, width, height]) imageDelivery.thumbs.thumbnailUrl(solrDocument[, width, height]) imageDelivery.thumbs.thumbnailUrl(cmsMediaItem[, width, height]) imageDelivery.thumbs.squareThumbnailUrl(pyhsicalElement[, size]) imageDelivery.thumbs.squareThumbnailUrl(structElement[, size]) imageDelivery.thumbs.squareThumbnailUrl(solrDocument[, size]) imageDelivery.images.imageUrl(pyhsicalElement[, pageType]) imageDelivery.pdf.pdfUrl(structElement[, pyhsicalElement[, more physicalElements...]]) imageDelivery.media.mediaUrl(mimeType, pi, filename) .
Provides urls to download pdfs, images and image footer.
Filter for IIIF Image info.json requests.
JAX-RS request filter for IIIF Image Information API requests.
Represents the zoom levels available for image display in the viewer.
JAX-RS request filter that adds additional parameters to ContentServer image requests as request context properties.
JAX-RS request filter for IIIF Image API requests.
Interface for classes which manipulate the database to conform to the setup required by the viewer.
Contract that every Goobi viewer extension module must implement.
 
Exceptions thrown by methods of the IndexAugmenter interface.
POST request parameters for IndexingResource (indexer version).
REST resource for triggering indexer operations and managing metadata re-indexing tasks.
Utility class for Solr indexer interactions (indexing, deleting, etc.).
REST resource providing search, field information, and statistical queries against the Solr index.
Thrown when the Solr search index cannot be reached or is unavailable.
Message handler that triggers indexing of usage statistics collected from the database into the Solr search index.
An AnnotationPage without '@context' attribute, to use for annotation pages embedded within other documents.
Interface for loading and navigating the physical pages of a digitized record.
Interface for objects containing translations for a set of languages.
Represents an IP address range used for IP-based access control and licence assignment.
JSF converter that maps between an IpRange object and its string representation.
Interface for entities that carry a set of named access privileges (e.g. a role or a license).
Common interface for REST API response message objects that carry a human-readable message string.
Dummy interface for allowing extensions of the enum TaskType in modules.
Interface for translating an object of type T into a locale-specific string representation, used by sorting comparators to obtain a display label before comparing elements.
Interface for creating module-specific urls for viewer pages.
Contract for all Quartz-scheduled viewer background jobs, extending the Quartz Job interface with viewer-specific lifecycle methods such as run-state tracking, job naming, direct parameter-based execution, and cron-expression support.
Lifecycle status of an asynchronous viewer job or upload process.
Custom class loader used to resolve JPA entity classes from the configured persistence unit.
JPA-based implementation of IDAO, providing all database access operations for the viewer.
Represents a JSF component identified by its library and name, providing helpers to resolve the component's filename and check whether it exists.
 
Provides a context for the extent service used in the viewer IIIF Presentation collection responses.
Configuration model for JSON metadata export, holding a template name, a Solr query, and the list of field mappings that define which Solr fields are included in the output.
Utility class that inspects the declared fields of a class via reflection and produces a JSON object mapping each field name to its corresponding JSON type (string, number, boolean, or object).
Converts loosely-formatted JSON-like strings (e.g. with unquoted keys, backtick delimiters, or unquoted string values) into a properly quoted JSON string and deserializes it into the target type.
Utility class providing JSON serialisation and deserialisation helpers.
Creates localised label values for geo map features by applying configured metadata templates to a given MetadataContainer.
Associates a display label with a target URL for use in navigation and breadcrumb components.
Simple value object pairing a string value with a display label and an optional CSS style class, typically used for select-box options or UI list entries.
Represents a language with its ISO 639 code and localised names.
 
Provides language metadata loaded from ISO 639 definitions for display and selection purposes.
Builds IIIF Presentation API v2 Layer resources aggregating annotation lists across canvases.
Memory-saving page loader that only loads one page at a time.
Represents an access licence assigned to a user, user group, or IP range, controlling permissions for specific access conditions.
Classifies the kind of principal (user, user group, IP range, or client application) that holds a License.
 
Licensee wrapper.
Describes license types for record access conditions and also system user roles (not to be confused with the class Role, however), also known as core license types.
JSF converter that maps between a license type object and its string identifier.
JPA entity that stores per-language placeholder information (e.g. description text and an optional CMS media image) for a LicenseType, persisted in the license_type_placeholder_info table.
Specifies how the placeholder image for a LicenseType is sourced.
Database migration step that removes the obsolete crowdsourcing-campaigns license type and drops the deprecated conditions column from the license_types table.
Database migration step that migrates existing licenses to the new LicenseRightsHolder model and removes obsolete columns from the licenses table.
 
 
Enumerates the supported linked resource formats for IIIF Presentation API v2, pairing each target with its MIME type and Dublin Core resource type.
Enumerates the supported linked resource formats for IIIF Presentation API v3, each carrying a resource type label, MIME format, and optional profile URI.
Enumerates the IIIF Presentation API v2 linking property types that associate a manifest or canvas with an external resource.
Representation of the Littera authentication response which is delivered as xml.
External authentication provider for the LITTERA reader authentication api (www.littera.eu).
An authentication provider using the local login provided by the viewer database.
 
JSF Converter that converts between LocalDateTime objects and their locale- and timezone-aware string representations for use in UI form components.
Comparator that orders Locale instances by their display name in a given language.
Group item for local messages.
 
A location on a map.
Parses geographic location data from Solr field values (WKT polygon, point, and GeoJSON formats) and converts them into IArea instances for use in geo map rendering.
Possible result for a record lock action, specifically RecordLockManager.lockRecord(String, String, Integer).
Filters class for redirecting from protected pages that either require a user login or superuser privileges to the login page.
Encapsulates the outcome of an authentication attempt, including the authenticated user and any error message.
 
JPA entity that stores the maintenance mode configuration, including its enabled state and multilingual message text displayed to visitors during scheduled downtime.
JPA entity that stores a single language-specific translation of a MaintenanceMode text field.
 
Builds IIIF Presentation API v2 Manifest resources from Solr index data and content files.
Builds IIIF Presentation API v3 Manifest resources from Solr index data and content files.
Configuration for a manifest link entry displayed in the viewer, combining a display label, a format identifier, and the metadata object that provides the target URL.
A FeatureSet implementation that stores geo map features as manually entered GeoJSON strings, persisted as a collection of feature entries in the database.
 
Defines how geo-map markers are rendered: FEATURELIST displays individual feature markers, while HEATMAP renders an aggregated heat-map layer.
Captures a single text match found during IIIF search parsing, holding the matched string together with its start and end character offsets within the source text.
Service class that handles HTTP file delivery with support for byte-range requests, conditional caching headers (ETag, If-Modified-Since), and optional GZIP encoding for text content.
Resolves urls audio or video files.
Simple representation of a cms-media-item.
Contains a list of MediaItems built from CMSMediaItems.
REST resource for accessing and delivering audio and video media files associated with digitized records.
JAX-RS name binding annotation used to mark REST endpoints that serve media resources.
Helper class for serving media resources via the REST API, handling content-type detection, redirect decisions, and HTTP response header configuration based on viewer media-type settings.
A single message key with all its available translations for admin backend editing.
Represents the completeness of translations for a MessageEntry across all configured locales.
Interface for handlers that process ViewerMessage tickets from the message queue and return a result.
JSF backing bean for monitoring and managing the viewer's internal message queue.
 
Thrown when an operation on the internal message queue fails, for example when a message cannot be enqueued, dispatched, or acknowledged.
Manages handling of messages by their respective MessageHandlers.
Utility class for looking up localised message strings from the viewer's resource bundles.
JSF request-scoped backing bean providing utility methods for message key generation, translation lookup, HTML sanitization, and message parameter substitution for use in Facelets templates.
Enumeration of the possible processing states for a message queue entry, each carrying a message-key label used for display in the admin UI.
Represents a single translated message entry with its locale and value.
Language + translation pair.
Metadata field configuration.
Provides the metadata for the current structure and event elements.
Builds localised metadata values from Solr documents and struct elements by applying configured MetadataParameter definitions.
An object containing a number of translatable metadata values.
Feature data provider that retrieves Solr metadata documents (DOCTYPE:METADATA) and their parent top-level records for use in geo map feature generation.
Aggregates a Solr main document together with its inline metadata, grouped METADATA child documents, and structural child docstructs, used to supply data for geo-map feature generation.
Represents a group of metadata fields belonging to a single structural element of a digitized record.
Marker interface for elements that can appear in a displayed metadata list, such as individual metadata entries or separators.
A MetadataListElement that acts as a visual separator between groups of metadata entries in a displayed metadata list.
Defines a single parameter within a metadata field configuration, specifying the Solr field and display options.
Enumerates the display and processing types for a metadata parameter, such as plain fields, translated fields, date fields, identifier fields, norm data fields, and others.
Defines a search-and-replace rule applied to metadata values before display.
Enumerates the matching strategies for a replace rule: character-level, string-level, or regular expression.
Utility class providing helpers for processing, formatting, and normalising metadata values.
Wrapper class for metadata parameter value groups, so that JSF can iterate through them properly.
A MetadataView represents a single record metadata view page within a record (along with an own link in the views widget).
Enumerates the possible display locations for a metadata view, either in the main object view or in the sidebar.
Wraps a Metadata instance together with a key-value pair representing the currently selected metadata value and its display label.
Servlet implementation class MetsResolver.
Class to determine uses of various media mimetypes.
Database migration step that performs miscellaneous housekeeping tasks, such as dropping obsolete tables that are no longer used by the application.
Thrown when a required Goobi viewer module is not installed or not available at runtime.
REST resource providing application health checks and version information for monitoring systems.
Data transfer object representing the current monitoring status of the Goobi viewer, including the health of Solr, the database, the image server, the message queue, and version information.
Produces a list of record identifiers that were unlocked during the set year.
REST resource providing statistics about moving wall access restrictions and record availability by publication year.
 
REST API model representing a contiguous range of pages (defined by a first and last page order number) that share a set of NER tag counts.
 
Custom JSF ExceptionHandler that intercepts unhandled exceptions and redirects to an appropriate error page.
JSF ExceptionHandlerFactory that creates custom exception handlers for the viewer's JSF lifecycle.
TextEnricher implementation that wraps ALTO word tokens referenced by named-entity tags in interactive HTML buttons.
JSF session-scoped backing bean providing navigation state, URL building, and breadcrumb tracking for the viewer frontend.
 
REST API model representing a single named-entity recognition (NER) tag extracted from a digitized document.
Enumerates the recognized categories of named entities, such as persons, locations, corporations, events, and miscellaneous types.
Utility methods for HTTP operations, mail, etc.
Allowed characters and uniqueness validator for user nicknames (displayed names).
 
No-operation comparator that always returns 0, effectively treating all elements as equal and preserving the original iteration order.
No-operation ITranslator implementation that returns the raw string produced by the provided stringifier function without any resource-bundle lookup or locale transformation.
A no-operation VariableReplacer that is initialised with an empty variable map and leaves all input strings unchanged.
Enumerates supported norm-data authorities (currently only GND), each providing the JSON-LD context URL and base URI used to resolve authority record identifiers.
Maps NotAllowedException (HTTP 405) to a JSON response that includes the required Allow header listing supported HTTP methods for the requested path, as mandated by RFC 9110 §15.5.6.
Message handler that sends e-mail notifications to users whose saved searches have new hits since their last notification.
Thrown to indicate that a method or operation is not yet implemented.
Iterator that generates sequential integer values starting from a configurable initial value.
Store simple strings in single database field.
Comparator that orders elements by the integer value of their string representation, falling back to lexicographic comparison when parsing fails, with support for ascending or descending order.
Represents a single 3D object with its source file, format, and associated textures.
Resolves urls audio or video files.
Factory class that creates Comparator instances based on a sort order descriptor string.
Enum representing the supported 3D object file formats (e.g.
Aggregates metadata and resource URLs for a 3D object file to be displayed in the viewer.
JAX-RS resource that serves 3D object files (scene, auxiliary files, and scene-info JSON) for a given record.
 
Represents a record available for oEmbed discovery, carrying the endpoint URL and format.
Base class for oEmbed response objects, containing the common fields defined by the oEmbed specification.
Servlet for original content file download.
 
 
 
Authentication provider that authenticates users via an OpenID Connect identity provider.
REST resource providing OpenSearch protocol endpoints for search and auto-suggest functionality.
Immutable value/label pair used as a selectable option within a CMSComponentAttribute, where value is the stored string and label is the human-readable display text.
Marks a CMS content type that supports paginated list views, providing access to the current list page number via the owning PersistentCMSComponent and its CMSPage.
A list of strings with some convenience methods.
A subtype of CustomSidebarWidget to display a list of links to CMS pages.
Describes different ways in which the sequence of images within a record is presented.
Enum representing the page orientation (left, right, or single) for double-page spread display.
Immutable container for pre-fetched per-page access permissions for a single record.
REST API model representing a single page of a digitized document and the NER tag counts found on it.
Database migration step that renames the legacy TEMPLATEID column in cms_pages to page_template_id and clears stale template ownership references on CMS components.
Enum of the viewer page types (e.g. viewImage, viewToc, search) used for URL mapping and navigation.
 
Enum representing the validation status of a CMS page, indicating whether the page is valid or which constraint is violated.
A configurable filter allowing passage to document entities (record, docStruct, page) which satisfy certain conditions.
Syntax validator for passwords.
Download job that generates a PDF file for a digitized record or one of its structural divisions via the content server.
Handles PDF generation and delivery requests, coordinating with the ContentServer PDF service.
JAX-RS response filter that enriches PDF information responses with viewer-specific metadata.
JAX-RS request filter for PDF download requests.
Calculates and stores estimated pdf file sizes based on image file size.
 
JPA entity representing a CMS component instance persisted to the database, storing its ordering, translated labels, content items, and the association to a CMS page or template.
Table data provider that persists filter and sorting state across requests for admin data tables.
oEmbed response for photo-type resources, carrying image URL and dimensions.
Physical element (page) containing an image, video or audio.
Enumerates the coordinate annotation formats that may be present on a physical page, used to determine how word-level highlight coordinates are read and applied.
Builder for PhysicalElement instances.
Represents a physical file resource belonging to a digitised record, encapsulating the file path, record identifier, page order, file size, MIME type, and access-permission checks.
Syntax validator for passwords addresses.
Syntax validator for passwords addresses.
 
Represents a point in 3D space with x, y, and z coordinates.
 
This Servlet maps a given lucene field value to a url and then either redirects there or forwards there, depending on the config.
Message handler that pre-renders PDF files for individual pages of a digitized record and stores them on disk for faster subsequent delivery.
Request parameters for the PRERENDER_PDF task, specifying the record identifier, an optional ContentServer configuration variant, and whether existing PDF files should be overwritten.
Thrown when an error occurs while loading or presenting a digitized record.
 
Comparator that sorts as many items marked as high priority to the beginning of the list as are given in the constructor The remaining items will be sorted randomly if the random parameter is true or else by the CMSMediaItem.compareTo(CMSMediaItem).
Functional interface taking no arguments and having no return value.
Request payload sent to the Goobi workflow REST API to create a new digitisation process, carrying the record identifier, process title, logical docstruct type, workflow template reference, and optional metadata and property maps.
Response returned by the Goobi workflow REST API after a process-creation request, indicating success or failure and providing the newly created process name and ID on success.
Utility class for retrieving data folders, data files and source files.
Runnable that drains an InputStream (typically stdout or stderr of a child process) into a string buffer.
Response returned by the Goobi workflow REST API when querying the status of an existing process, including its title, ID, creation date, completion flag, associated workflow steps, and process properties.
Immutable snapshot of a transfer's progress, holding the number of bytes already processed and the total expected size, with convenience methods for relative and percentage values.
A FilterInputStream that tracks the number of bytes read and reports download progress via a callback.
Represents a single name/value process property returned as part of a ProcessStatusResponse from the Goobi workflow REST API.
Bundles provider configurations for IIIF manifests into a single object.
 
Describes whether a CMSPage is published or not.
Message handler that pulls the latest version of the configured viewer theme from its version control repository via a shell command.
Message handler that removes all expired bearer tokens from the in-memory token manager.
Message handler that scans the PDF download folder and deletes all expired, unlocked PDF download files.
Message handler that removes all expired download access tickets from the database.
JSF application-scoped backing bean for the Quartz scheduler administration view.
Data transfer object that carries runtime details of a Quartz scheduler job, including its name, group, previous and next fire times, cron expression, and paused state.
Servlet context listener that initializes and shuts down the Quartz scheduler on application startup and shutdown.
CMS item functionality that renders a list of records matching a configurable Solr query.
Immutable value object holding the result of a parsed search query, containing the user-facing display string, the internal Solr query, extracted search terms, and the proximity distance.
An annotation generator to create a specific type of annotation for a specific question.
The QuestionType determines GUI element to use to create annotations for a Question, which also determines the type of body the generated annotations have.
 
 
A FileRecord variant that is always non-writable, used to expose read-only default configuration files (e.g. bundled defaults) in the configuration editor.
Feature data provider that retrieves top-level records (works and anchors) from Solr, optionally including their child metadata group documents for geo map feature generation.
Thrown when a requested record has been deleted and is no longer available in the index.
Binding for downloading files belonging to a record.
JAX-RS request filter that tracks record file downloads for usage statistics.
 
 
 
Contains data to create a geomap for a record containing complex metadata (metadata documents) with geo coordinates.
Pre-matching request filter that validates persistent identifiers in /records/{pi}/... paths before the target resource is instantiated.
Thrown when the configured maximum number of records in a result set or export has been exceeded.
Instance of a limited view record being loaded by a user.
Manages concurrent view limits and access condition caches for individual records.
Thrown when a requested record cannot be found in the Solr index.
 
 
Thread-safe cache that stores per-record and per-page file-type and access-permission lookups to avoid redundant Solr queries and access-condition evaluations within a single request cycle.
REST resource providing record metadata, IIIF manifests, full-text, and various export formats for digitized records.
REST resource providing IIIF Presentation v3 manifests and annotations for digitized records.
 
 
 
 
REST resource providing IIIF Image API endpoints for accessing page images of digitized records.
REST resource providing IIIF Image API v3 endpoints for page images in the v2 API.
Provides listings of records in reduced iiif form.
POST request parameters for RecordsResource.
An enum of different types of records pertaining to the display-conditions of page elements.
JPA entity representing a persistent schedule configuration for a recurring background task.
Thrown to signal that an HTTP redirect to a different URL is required.
Utility class providing Java reflection helpers.
Message handler that unloads cached archive trees for a set of record identifiers so that they are reloaded from Solr on next access.
Sample query : "{!
Validates the entered PI belonging to a record for which the current user may create CMS content.
Feature data provider that extends MetadataDataProvider to additionally resolve relationship metadata by loading related Solr documents for each retrieved metadata group.
Extends ComplexMetadataContainer to support relationship metadata whose filter and sort fields can reference fields in externally linked Solr records, loaded on demand from the index.
Constants class defining the namespace prefixes and variable key names used by the VariableReplacer to substitute placeholders in configuration strings.
SAX ErrorHandler implementation that collects all warnings, errors, and fatal errors into a list of XMLError objects instead of throwing exceptions immediately.
JSF backing bean for storing variables in request scope.
 
 
Summarises usage statistics for a single request type over an optional date range, holding the total number of requests and the number of unique requests.
ITranslator implementation that looks up the string representation of a value in the viewer's resource bundle, using a configurable list of available locales and a default locale fallback.
Manages record resources that are made available to users for download, like pdf files or other media not displayed directly in the viewer.
Thrown when an error occurs during REST API request processing, carrying an associated HTTP status code.
JAX-RS exception mapper that converts RestApiException instances to JSON error responses with appropriate HTTP status codes.
Handles urls to configured rest api endpoints.
oEmbed response for rich-media resources, carrying an HTML embed snippet.
Exports search results in RIS (Research Information Systems) format.
 
Taken from: https://vafer.org/blog/20061010091658/.
Represents a role a user can have within a user group.
JSF converter that maps between a user role object and its string representation.
Database migration step that renames the legacy roles table to user_roles, handling the case where EclipseLink may have already created the new table.
JSF request-scoped backing bean for RSS feed generation.
Builds and serialises an RSS feed from Solr search results for the viewer's RSS endpoint.
A subtype of CustomSidebarWidget to display a RSS feed of selected records.
Represents a single object within an RSS feed.
Represents metadata for an RSS feed object.
Servlet implementation class RssResolver
 
Persistable search query.
 
JSF session-scoped backing bean for the search interface, managing search queries, facets, sorting, and result pagination.
Class to represent children of SearchHit which don't represent a complete record and thus need less data.
Message handler stub for asynchronous search result Excel export tasks.
Current faceting settings for a search.
Represents a configurable search scope filter (e.g. restricting search to a specific collection or document type).
CMS item functionality that embeds a search interface with its own query and facet state.
Search utility class.
Wrapper class for search hits.
Factory class that constructs SearchHit objects from Solr documents, enriching them with metadata, thumbnails, child hits, and access permission information.
Sends email notifications to users when new search hits appear for their saved searches.
Interface that all classes must implement that may be used in jsf search masks SearchBean is the default implementation.
Searches query group for the advanced search.
Enumerates the logical operators used to combine multiple SearchQueryItems within a group.
Field/operator/value tuple for the advanced search.
Enumerates the logical operators (AND, OR, NOT) available for combining values within a single search query item.
Object representing a single line with operator + value(s) within an item.
Converts resources found in a search to IIIF Search objects.
A SolrFeatureSet that derives its geo map features from the current search result set by using the active search query from the SearchBean.
Used for creating separate groups of search results for a single query.
REST resource for exporting search results in OpenSearch and RIS bibliographic formats.
 
 
A collection of search terms.
Manages login security by tracking failed login attempts per user name and IP address.
Represents a security question with a message-key for the question text and a set of accepted answers, tracking whether the question has already been answered.
An entity holding an object which can be selected or unselected.
A CMSNavigationItem which can be selected and deselected.
 
Tools to create SelectItem collections to use in jsf components.
Extends JSF SelectItem to support a double-page mode where the item value is returned as a hyphen-joined pair (e.g.
Builds the Sequence and Canvas resources within a IIIF Presentation API v2 Manifest.
Utility class providing helper methods for servlet request processing and response handling.
JSF backing bean for storing variables in session scope.
REST resource builder for bookmark lists stored in the HTTP session.
Servlet filter that counts and tracks active HTTP sessions for monitoring purposes.
HTTP session listener that tracks active user sessions and performs cleanup on session expiry.
Class holding counts of requests of different RequestTypes.
Handles the bookmark list stored in the session store.
Persistence class containing request counts for a single http session.
Executes an external shell command and captures its standard output and error streams.
Migrates migrates data from the deprcated table cms_sidebar_elements to the new table cms_page_sidebar_elements, which backs CMSSidebarElement.
Lightweight browse element info carrying only a label and URI for simple collection entries.
A lightweight, non-persistent CMSMediaHolder implementation that wraps a single CMSMediaItem together with an optional filename filter, suitable for transient use outside of the regular CMS page/content persistence hierarchy.
JPA AttributeConverter that converts a SimpleMediaHolder to and from the numeric ID of the underlying CMSMediaItem for database persistence.
Builds a simple search String for a SearchBean.
 
SitelinkBean.
Sitemap generation.
Resource for sitemap generation.
POST request parameters for SitemapResource.
Application scoped bean which handles socket updates for indexer and background tasks status.
 
 
 
 
Provides constants for Lucene in alphabetical order.
Enum representing values of the Solr field DOCTYPE.
Enum representing values of the Solr field METADATATYPE.
Loads and parses EAD documents from the Solr index.
A FeatureSet implementation that generates geo map features by executing a configurable Solr query and converting the matching documents into GeoJSON features.
Solr field information as JSON.
A TranslationGroupItem whose keys are Solr field names, resolved either as a literal field name or as a regular expression matched against all known Solr fields.
A TranslationGroupItem whose keys are Solr field values, loaded via facet queries and expanded hierarchically using the configured collection splitting character.
Validates the query syntax and displays the number of hits.
Provides all Solr query operations for the viewer, wrapping the SolrJ client with viewer-specific convenience methods.
IIIF Search API parser that queries the Solr index to find text matches within indexed records.
Defines the scope of a Solr query used to populate geo-map features: constants control whether top-level records, structure documents, metadata documents, relationship documents, or all of them are searched.
Utility class providing static helpers for constructing Solr queries, parsing responses, and field value extraction.
 
 
 
 
 
Servlet context listener that starts and stops the embedded ActiveMQ message broker together with the web application lifecycle.
Bean for the statistics page.
Writes Indexing files for SOLR indexer.
Task managed by the viewers TaskManager which indexes all DailySessionUsageStatistics up to the day before today.
Contains field names of STATISTICS_USAGE SOLR documents.
Summary of request counts for a certain date range.
Class collecting usage statistics data for a number of days to provide an overall summary for output.
A class holding values by which a StatisticsSummary instance should be filtered.
Represents a single workflow step returned as part of a ProcessStatusResponse from the Goobi workflow REST API, carrying the step title, execution status, assigned user, start/end dates, and position order.
Bean to store variables within a certain scope.
Central repository of shared string constants used throughout the Goobi viewer.
Store simple strings in single database field.
A matcher read from a configuration node which matches strings based on certain criteria.
Immutable pair of two string values, used for key-value mappings throughout the viewer.
 
 
Utility class providing string manipulation, conversion, and sanitisation helpers used throughout the viewer.
Each instance of this class represents a structure element.
Sorts StructElements by anchors first, then works, then everything else within anchors and works, elements are sorted by PI, all other elements are sorted by LOGID.
Sorts StructElements by anchors first, then works, then everything else within anchors and works, elements are sorted by PI, all other elements are sorted by LOGID.
StructElement essentials with a reduced memory footprint.
Builds the Range (structure) resources within a IIIF Presentation API v2 Manifest from the record's logical structure.
Syntax validator for subnet masks.
Database migration step that renames the subtheme_discriminator column to subtheme in both cms_pages and cms_page_templates, migrating data where both columns coexist.
REST API response model indicating whether an operation succeeded, together with an optional human-readable result description.
Represents a single filter criterion applied to a data table column.
Generic data provider for paginated, filterable, and sortable admin data tables.
 
Data-source interface for paginated, sortable, and filterable table data used by TableDataProvider.
Thrown when a table data source encounters an error while loading or filtering data.
Tag in a tag cloud.
Bean for the tag cloud page.
REST API model aggregating the occurrences of a single named-entity tag value and type within a page group.
Common interface for NER result containers that group TagCount entries by page scope — either a single page (PageReference) or a contiguous page range (MultiPageReference).
The TargetSelector determines which part of a source (usually a iiif manifest or other collection of iiif canvases) is the target for an annotation generated by a Question.
A process triggered by a REST call using POST and may be monitored via the TasksResource.
Enumerates the access levels that control which callers are permitted to read or monitor a Task.
Enumerates the lifecycle states of a Task, from initial creation through active processing to a terminal completed or error state.
Manages (possibly timeconsuming) tasks within the viewer which can be triggered and monitored via the TasksResource.
Object to create a Task.
REST resource for creating and monitoring asynchronous TaskManager tasks within the viewer, such as PDF pre-rendering.
Indicates whether a Quartz task trigger is currently active or suspended.
Enumerates the built-in asynchronous task types available in the Goobi viewer, each carrying a default Quartz cron expression (empty string for on-demand tasks without a fixed schedule).
Utility class for parsing and transforming TEI (Text Encoding Initiative) XML documents.
Upload of resouces for DC record creation.
 
 
Keeps the global termsOfUse object for the current session.
Used to edit terms of use in admin backend.
 
Simple test object used for verifying servlet and bean wiring in integration tests.
Bean representing the primary source record for image display.
Strategy interface for enriching the text content of individual ALTO word elements.
 
 
Thrown when a viewer theme cannot be found, loaded, or applied.
 
 
 
 
 
Delivers Thumbnail urls for pages and StructElements.
Table of contents and associated functionality for a record.
Single TOC entry.
CMS item functionality that displays a table of contents for a specified record.
Builds the table-of-contents tree for a digitized record by querying the Solr index and structure map.
 
Writes a table-of-contents structure to a PDF document.
POST request parameters for RecordsResource.
Represents a Transkribus HTR (handwritten text recognition) processing job with its status and associated record.
Holds an authenticated Transkribus session token obtained after login.
Utility class for communicating with the Transkribus REST API to submit and monitor HTR jobs.
Marks a CMS content type whose primary text can be stored and retrieved in multiple locales, extending IPolyglott with convenience accessors for the underlying TranslatedText.
A Selectable which may also hold a locale to indicate the currently visible language/translation.
Translations for some text for a set of locales.
Objects using this converter should be cloned after reading from the database, otherwise changes to the text values may not be updated correctly.
Implementation of WebAnnotationMetadataValueSerializer which always writes the value as json-object, never as string.
Represents a single translated value for a specific language tag.
Groups a set of translatable message keys of the same category for display and editing in the admin backend.
Defines the source from which message keys and their translations are loaded for a TranslationGroup.
A single element as part of a translation group.
Jackson serializer for a collection of Translation objects.
REST resource for retrieving localized message strings used throughout the viewer interface.
 
Database migration step that renames the legacy value column to translation_value in all translation tables that still use the old column name.
No-op CMS item functionality used as a placeholder for items that require no special behaviour.
Unchecked wrapper for PresentationException, suitable for use in lambdas and streams.
Message handler that updates the data repository name mapping for a given record identifier in the Solr index and clears any cached access condition data for that record.
Message handler that regenerates the XML sitemap files for the viewer instance at the configured output path.
Message handler that polls all waiting user upload jobs and updates their status based on the current indexing state in Solr.
JSF backing bean for handling file uploads in the viewer, including record and media uploads.
Thrown when an error occurs during a file upload operation.
Represents an asynchronous file upload job with its status, progress, and associated record identifier.
JSF validator that checks whether a string input is a well-formed URI.
UrlParameterSeparator.getChar() returns ? the first time it is called, and & any subsequent time.
Filters for redirecting prettified calls to cmsPages.
Metadata describing a usage statistics query, including the reporting period (start and end date) and an optional Solr filter query string used to restrict the statistics data.
Class to be called on requests to be recorded in usage statistics.
REST resource providing usage statistics and access metrics for records and viewer resources, covering a single day or a range of days.
REST response object for usage statistics requests, containing an aggregated summary and a list of per-date statistics entries that can also be serialized as CSV.
Represents a registered viewer user with authentication credentials, roles, and associated licences.
Represents a single recorded activity of a user, such as creating a comment, bookmark, search, or annotation.
 
 
 
REST resource for uploading, retrieving, and deleting user avatar images.
JSF session-scoped backing bean responsible for user authentication, registration, and account management.
REST resource builder for bookmark lists owned by an authenticated user.
JSF converter that maps between a User object and its string identifier.
JSF backing bean providing user profile management and account settings for authenticated users.
REST endpoint providing user profile information and preferences for authenticated users.
Endpoint that maps HTTP session IDs to connected web sockets.
Represents a group of users that can be assigned licences and roles collectively.
JSF backing bean for managing user groups and their members in the admin interface.
JSF converter that maps between a UserGroup object and its string identifier.
Simplified representation of a User object for json (de-)serialization.
Allows request by sessions with a logged in user.
Only allow requests from a session with a logged in Goobi viewer user.
Request DTO carrying a username and password for local authentication.
Objects that map roles to users within a user group.
Utility class providing static helper methods for user account management operations such as deleting a user and all associated data.
 
Replace variable expression denoted by {variable-name} in strings.
Provides version information about the currently running Goobi viewer core.
Determines the visible area of a GeoMap.
Used to check whether a zoomImageView configuration block should be applied to the image view represented by the given viewManager and pageType Stores PageType (the type of view, like fullscreen or viewImage), MimeType of the current page, the number of pages in the record, the main DocStructType of the record and the collections (based on SolrConstants.DC) of the record.
JSF backing bean for storing variables in view scope.
Exception that is thrown if an essential configuration element is missing.
JPA entity representing a message in the internal message queue.
Simple template to create a json-representation of a viewer page, typically a CMS-Page.
Stores the url path of a http request organized by its logical parts so application url, application name, view type and parameter urls can be retrieved independendly.
Offers static methods to create ViewerPaths from a http request.
REST resource for serving PDF representations of entire digitized records with access control.
Custom ResourceBundle implementation that loads and merges viewer message files from configurable locations.
Binding to handle exception in requests by the WebApplicationExceptionMapper.
 
Offers methods to store information about the current and previous html-view (page) in the session store.
Holds the full state of the currently open record: document structure, physical pages, TOC, image delivery settings, and navigation.
View scoped bean to detect leaving a view and perform some action.
A class containing all conditions to possibly check for when deciding whether to display a page element for a record page.
Interchange class to pass visibility conditions from the jsf fronend to a backing bean.
Builder that constructs a Smithsonian Voyager scene document (JSON) for one or more 3D model assets, including asset metadata, scene nodes, and derivative descriptions.
Response DTO for the VuFind authentication service, carrying user data on successful login.
 
 
 
 
 
 
 
Authentication provider that validates user credentials against a VuFind instance.
Applies configured watermarks to images delivered through the image service.
 
JAX-RS exception mapper that catches general exceptions encountered during REST API calls and creates a JSON-formatted error response.
Bundles configuration for a web resource containing a URI and a label.
Common interface for all CMS sidebar-widget content types (DefaultWidgetType, AutomaticWidgetType, CustomWidgetType), providing metadata such as label, icon, filename, and page-level display constraints.
JPA AttributeConverter that maps WidgetContentType enum values to and from their string name for database storage.
Class for displaying information about available sidebar widgets in /admin/cms/widgets and the sidebar edit tab of /admin/cms/pages/edit.
Indicates how data for a sidebar widget is created and stored.
ICoordinateReader implementation that parses WKT point strings (e.g.
ICoordinateReader implementation that parses WKT polygon strings of the form POLYGON((x1 y1, x2 y2, ...)) into a Polygon geometry.
Thrown when an error occurs while writing a table of contents to PDF.
Immutable value object representing a single XML parse error, holding the line number, column number, severity level, and human-readable message.
XML utilities.
Authentication response object for X-Service.
Authentication provider that authenticates users via the X-Service API.
Extracts ZIP archives to a target directory while enforcing configurable size limits per entry and for the total unpacked archive.