The URL form libraries:query follows Google's
API Improvement Proposal 136 — Custom methods:
custom (non-standard CRUD) methods are spelled <resource>:<verb> with a
literal colon and no separating slash. Quoting AIP-136:
Custom methods should use HTTP
POSTif they have side effects, or HTTPGETif they are side-effect free. ... Custom methods should generally take the form:https://service.googleapis.com/v1/resources/{id}:verb. ... For batch and collection-level custom methods, the colon is appended directly to the collection name:https://.../v1/resources:batchGet.
Practical reason for the colon here: the sibling
LibraryResource is mounted at @Path("libraries/{id}"). A
libraries/query sibling would lose JAX-RS path-specificity
arbitration because the per-library path matches {id}=query with
more literal characters — the request would dispatch to
LibraryResource and return 405. The colon variant has no slash
and therefore no collision.
| Modifier and Type | Field and Description |
|---|---|
| private static final Logger | |
| private CliPreferences | |
| private SrvStateManager |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public LibraryQueryResponse | query(LibraryQueryRequest request)
|
| private List | runQuery(String rawQuery, List<String> libraryIds)
Entries without a citation key are reported with the sentinel
|
| private List | runSearch(BibDatabaseContext context, SearchQuery query)
Delegate to whichever |
| LOGGER | back to summary |
|---|---|
| private static final Logger LOGGER | |
| preferences | back to summary |
|---|---|
| private CliPreferences preferences
| |
| srvStateManager | back to summary |
|---|---|
| private SrvStateManager srvStateManager
| |
| LibrariesQueryResource | back to summary |
|---|---|
| public LibrariesQueryResource() | |
| query | back to summary |
|---|---|
| public LibraryQueryResponse query(LibraryQueryRequest request)
| |
| runQuery | back to summary |
|---|---|
| private List Entries without a citation key are reported with the sentinel
| |
| runSearch | back to summary |
|---|---|
| private List Delegate to whichever | |