WordpressRicdHttpAdapter
in package
implements
ExternalRicdPort
FinalYes
HTTP adapter for RICD Solr endpoint.
Performs keyword/date queries and fetches individual records, mapping responses into RicdDataSnapshot value objects.
Table of Contents
Interfaces
- ExternalRicdPort
- Port for accessing external RICD data sources.
Properties
- $baseUrl : string
Methods
- __construct() : mixed
- fetchById() : RicdDataSnapshot|null
- Fetch a record by its RICD identifier.
- search() : array<string|int, RicdDataSnapshot>
- Search via Solr endpoint /search/request.
- buildKeywordQuery() : string|null
- Accept comma-separated keywords and combine them with OR.
- escapeSolrValue() : string
- Simple escaping for Solr queries (ID field).
- mapDocToSnapshot() : RicdDataSnapshot
- Map a single RICD record (Solr document) into a RicdDataSnapshot.
- parseDateOrYear() : DateTimeImmutable|null
- Try to parse either a date (ISO/date string) or a year (int).
- toString() : string
- Ensure we get a simple string.
- toStringArray() : array<string|int, string>
- Turn a value into a list of strings.
- toStringOrNull() : string|null
- Like toString(), but keep null when empty.
Properties
$baseUrl
private
string
$baseUrl
Methods
__construct()
public
__construct(string $baseUrl) : mixed
Parameters
- $baseUrl : string
-
e.g. 'https://eut.projekt.onl'
fetchById()
Fetch a record by its RICD identifier.
public
fetchById(string $ricdId) : RicdDataSnapshot|null
Parameters
- $ricdId : string
Return values
RicdDataSnapshot|nullsearch()
Search via Solr endpoint /search/request.
public
search(RicdQuery $query) : array<string|int, RicdDataSnapshot>
Parameters
- $query : RicdQuery
Return values
array<string|int, RicdDataSnapshot>buildKeywordQuery()
Accept comma-separated keywords and combine them with OR.
private
buildKeywordQuery(string|null $keywordCsv) : string|null
Parameters
- $keywordCsv : string|null
Return values
string|nullescapeSolrValue()
Simple escaping for Solr queries (ID field).
private
escapeSolrValue(string $value) : string
Parameters
- $value : string
Return values
stringmapDocToSnapshot()
Map a single RICD record (Solr document) into a RicdDataSnapshot.
private
mapDocToSnapshot(array<string|int, mixed> $doc) : RicdDataSnapshot
Parameters
- $doc : array<string|int, mixed>
-
Raw Solr document
Return values
RicdDataSnapshotparseDateOrYear()
Try to parse either a date (ISO/date string) or a year (int).
private
parseDateOrYear(mixed $value) : DateTimeImmutable|null
Parameters
- $value : mixed
Return values
DateTimeImmutable|nulltoString()
Ensure we get a simple string.
private
toString(mixed $value) : string
- If array: first element
- If null: ''
Parameters
- $value : mixed
Return values
stringtoStringArray()
Turn a value into a list of strings.
private
toStringArray(mixed $value) : array<string|int, string>
- string => [string]
- array => cast each element to string
- otherwise => []
Parameters
- $value : mixed
Return values
array<string|int, string>toStringOrNull()
Like toString(), but keep null when empty.
private
toStringOrNull(mixed $value) : string|null
Parameters
- $value : mixed