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)

Reply via email to