Skip to content

Commit f82af3f

Browse files
author
Igor Polevoy
committed
#557 Get access to CacheManager implementation
1 parent 0b6939e commit f82af3f

File tree

6 files changed

+35
-0
lines changed

6 files changed

+35
-0
lines changed

activejdbc/src/main/java/org/javalite/activejdbc/cache/CacheManager.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,14 @@ public void purgeTableCache(String tableName) {
141141
public String getKey(String tableName, String query, Object[] params) {
142142
return tableName + query + (params == null ? null : Arrays.asList(params).toString());
143143
}
144+
145+
146+
/**
147+
* Returns underlying instance of implementation for specific configuration.
148+
*
149+
* @return actual underlying implementation of cache. The same as configured in <code>activejdbc.properties</code> file.
150+
* For instance:
151+
* <code>redis.clients.jedis.BinaryJedis</code>.
152+
*/
153+
public abstract Object getImplementation();
144154
}

activejdbc/src/main/java/org/javalite/activejdbc/cache/EHCache3Manager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,9 @@ private Cache<String, Object> getCacheForGroupOrCreateIt(String group) {
9999
}
100100
return cache;
101101
}
102+
103+
@Override
104+
public Object getImplementation() {
105+
return this.cacheManager;
106+
}
102107
}

activejdbc/src/main/java/org/javalite/activejdbc/cache/EHCacheManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,9 @@ public void doFlush(CacheEvent event) {
6666
cacheManager.removeCache(event.getGroup());
6767
}
6868
}
69+
70+
@Override
71+
public Object getImplementation() {
72+
return this.cacheManager;
73+
}
6974
}

activejdbc/src/main/java/org/javalite/activejdbc/cache/NopeCacheManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,9 @@ public void addCache(String group, String key, Object cache) {}
1616

1717
@Override
1818
public void doFlush(CacheEvent event) {}
19+
20+
@Override
21+
public Object getImplementation() {
22+
return null;
23+
}
1924
}

activejdbc/src/main/java/org/javalite/activejdbc/cache/OSCacheManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,9 @@ public void doFlush(CacheEvent event) {
6363
administrator.flushGroup(event.getGroup());
6464
}
6565
}
66+
67+
@Override
68+
public Object getImplementation() {
69+
return this.administrator;
70+
}
6671
}

activejdbc/src/main/java/org/javalite/activejdbc/cache/RedisCacheManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,9 @@ public void doFlush(CacheEvent event) {
8787
jedis.del(event.getGroup().getBytes());
8888
}
8989
}
90+
91+
@Override
92+
public Object getImplementation() {
93+
return this.jedis;
94+
}
9095
}

0 commit comments

Comments
 (0)