Rishabh Daim created OAK-12185:
----------------------------------
Summary: CacheFactory SPI interface [oak-core-spi]
Key: OAK-12185
URL: https://issues.apache.org/jira/browse/OAK-12185
Project: Jackrabbit Oak
Issue Type: Technical task
Reporter: Rishabh Daim
Assignee: Rishabh Daim
{color:#0033b3}### {color}What changes
{color:#0033b3}-
`{color}oak-core-spi/.../cache/api/CacheFactory.java{color:#0033b3}` {color}—
{color:#0033b3}**{color}new{color:#0033b3}** {color}public interface:
{color:#0033b3}- `{color}<K,V> Cache<K,V> build(CacheBuilder<K,V>
config){color:#0033b3}`
{color}{color:#0033b3} - `{color}<K,V> LoadingCache<K,V>
build(CacheBuilder<K,V> config, CacheLoader<K,V> loader){color:#0033b3}`
{color}{color:#0033b3} - `{color}static CacheFactory
getInstance(){color:#0033b3}` {color}— init-on-demand holder +
{color:#0033b3}`{color}ServiceLoader{color:#0033b3}`{color}; throws
{color:#0033b3}`{color}IllegalStateException{color:#0033b3}` {color}if no
provider found
{color:#0033b3}- {color}Zero Caffeine or
{color:#0033b3}`{color}impl{color:#0033b3}` {color}imports — pure
{color:#0033b3}`{color}api{color:#0033b3}` {color}package
{color:#0033b3}### {color}Acceptance criteria
{color:#0033b3}- `{color}CacheFactory{color:#0033b3}` {color}compiles with no
Caffeine or Guava types in its public surface
{color:#0033b3}- `{color}CacheFactory.getInstance(){color:#0033b3}` {color}is
callable (tested in TASK-2.1 once the provider is registered)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)