Verified Owner
Top Description Fields Constructors Methods
org.jabref.logic.importer.fetcher

public Class WileyFetcher

extends Object
implements FulltextFetcher, CustomizableKeyFetcher
Class Inheritance
All Implemented Interfaces
org.jabref.logic.importer.fetcher.CustomizableKeyFetcher, org.jabref.logic.importer.WebFetcher, org.jabref.logic.importer.FulltextFetcher
Imports
java.io.IOException, java.net.URL, java.util.Map, .Optional, .UUID, org.jabref.logic.importer.FetcherException, .FulltextFetcher, .ImporterPreferences, org.jabref.logic.util.URLUtil, org.jabref.model.entry.BibEntry, org.jabref.model.entry.field.StandardField, org.jabref.model.entry.identifier.DOI, org.jspecify.annotations.NonNull

Fulltext fetcher that downloads PDFs from Wiley journals via the Wiley TDM API.

Each user must register for their own TDM token at Wiley portal (needs to have a Wiley account). The token is non-transferable and for personal use only per Wiley TDM license.

Field Summary

Modifier and TypeField and Description
public static final String
private final ImporterPreferences
private static final String
private static final String

Constructor Summary

AccessConstructor and Description
public
WileyFetcher(ImporterPreferences importerPreferences)

Method Summary

Modifier and TypeMethod and Description
public Optional<URL>
public Map<String, String>
getDownloadHeaders()

Overrides default org.jabref.logic.importer.FulltextFetcher.getDownloadHeaders.

Returns HTTP headers required for downloading the PDF returned by findFullText.

public @NonNull String
getName()

Implements org.jabref.logic.importer.WebFetcher.getName.

Returns the localized name of this fetcher.

public TrustLevel
getTrustLevel()

Implements org.jabref.logic.importer.FulltextFetcher.getTrustLevel.

Returns the level of trust for this fetcher.

public boolean
isValidKey(String apiKey)

Overrides default org.jabref.logic.importer.fetcher.CustomizableKeyFetcher.isValidKey.

Validates that the API key is a valid UUID, matching the format check used by Wiley's official TDM client.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

FETCHER_NAMEback to summary
public static final String FETCHER_NAME
importerPreferencesback to summary
private final ImporterPreferences importerPreferences
TDM_API_URLback to summary
private static final String TDM_API_URL
TDM_HEADER_NAMEback to summary
private static final String TDM_HEADER_NAME

Constructor Detail

WileyFetcherback to summary
public WileyFetcher(ImporterPreferences importerPreferences)

Method Detail

findFullTextback to summary
public Optional<URL> findFullText(@NonNull BibEntry entry) throws IOException, FetcherException
Annotations
@Override
getDownloadHeadersback to summary
public Map<String, String> getDownloadHeaders()

Overrides default org.jabref.logic.importer.FulltextFetcher.getDownloadHeaders.

Doc from org.jabref.logic.importer.FulltextFetcher.getDownloadHeaders.

Returns HTTP headers required for downloading the PDF returned by findFullText. Fetchers that require authentication (for ex: API tokens) should override this method.

Annotations
@Override
getNameback to summary
public @NonNull String getName()

Implements org.jabref.logic.importer.WebFetcher.getName.

Doc from org.jabref.logic.importer.WebFetcher.getName.

Returns the localized name of this fetcher. The title can be used to display the fetcher in the menu and in the side pane.

Todo

This name is also used for identifying the fetcher in preferences for API keys. Thus, any switch of the language will "remove" API keys.

Annotations
@Override
getTrustLevelback to summary
public TrustLevel getTrustLevel()

Implements org.jabref.logic.importer.FulltextFetcher.getTrustLevel.

Doc from org.jabref.logic.importer.FulltextFetcher.getTrustLevel.

Returns the level of trust for this fetcher. We distinguish between publishers and meta search engines for example.

Annotations
@Override
isValidKeyback to summary
public boolean isValidKey(String apiKey)

Overrides default org.jabref.logic.importer.fetcher.CustomizableKeyFetcher.isValidKey.

Validates that the API key is a valid UUID, matching the format check used by Wiley's official TDM client. The TDM API has no dedicated validation endpoint

Annotations
@Override