Skip to content

folio-org/folio-holdingsiq-client

Repository files navigation

folio-holdingsiq-client

FOLIO Release Version Java Version Quality Gate Status

Copyright © 2019–2025 The Open Library Foundation

This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.

Introduction

A Java client library for interacting with the HoldingsIQ (RMAPI) service. This library provides a high-level API for managing electronic resources, including providers, packages, titles, and resources in FOLIO.

Requirements:

  • Vert.x 5.0.x+
  • Java 21+

Overview

The folio-holdingsiq-client provides a comprehensive Java client for the HoldingsIQ API, enabling FOLIO modules to manage electronic holdings and knowledge base data.

Main Components

  • HoldingsIQService — Main service interface for interacting with HoldingsIQ API
  • ProviderHoldingsIQService — Manages provider (vendor) operations
  • PackagesHoldingsIQService — Handles package management
  • TitlesHoldingsIQService — Manages title operations
  • ResourcesHoldingsIQService — Handles resource management
  • ConfigurationService — Manages API configuration and credentials

Getting Started

Configuration

Create a Configuration object with your HoldingsIQ API credentials:

Configuration config = Configuration.builder()
  .customerId("your-customer-id")
  .apiKey("your-api-key")
  .url("https://api.ebsco.io")
  .build();

Service Initialization

Initialize the HoldingsIQ service with Vert.x and configuration:

Vertx vertx = Vertx.vertx();
HoldingsIQService service = new HoldingsIQServiceImpl(config, vertx);

Example Usage

Retrieve providers:

CompletableFuture<Vendors> future = service.retrieveProviders("searchString", 1, 25, Sort.NAME)
.thenAccept(vendors -> {
  // Process vendors
});

Retrieve packages:

PackagesFilter filter = PackagesFilter.builder()
  .contentType(PackageContentType.E_BOOK)
  .selected(PackageSelectedFilter.SELECTED)
  .build();

CompletableFuture<Packages> future = service.retrievePackages(providerId, filter, Sort.NAME, 1, 25);

Update title:

Title updatedTitle = title.toBuilder()
  .isSelected(true)
  .build();

CompletableFuture<Void> future = service.updateTitle(providerId, packageId, titleId, updatedTitle);

Additional Information

Example modules using this library:

For more FOLIO developer documentation, visit dev.folio.org

Issue tracker

See project FHIQC at the FOLIO issue tracker.

Contributing

See CONTRIBUTING.md for contribution guidelines.

About

Client library to HoldingsIQ API

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 13

Languages