Project

General

Profile

Download (1.13 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.api.cache;
2

    
3
import java.util.UUID;
4

    
5
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.stereotype.Component;
7

    
8
import eu.etaxonomy.cdm.api.service.ITermService;
9
import eu.etaxonomy.cdm.model.common.CdmBase;
10
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
11

    
12
/**
13
 * CDM Entity Cacher class which handles the caching of Defined Terms.
14
 *
15
 * @author cmathew
16
 *
17
 * @param <T>
18
 */
19
@Component
20
public class CdmTermCacher extends CdmCacher {
21

    
22
	@Autowired
23
	ITermService termService;
24

    
25
	@Override
26
	protected void setup() {
27
        DefinedTermBase.setCacher(this);
28
	}
29

    
30
	/* (non-Javadoc)
31
	 * @see eu.etaxonomy.cdm.api.cache.CdmCacher#findByUuid(java.util.UUID)
32
	 */
33
	@Override
34
	protected  CdmBase findByUuid(UUID uuid) {
35
		return termService.findWithoutFlush(uuid);
36
	}
37

    
38

    
39

    
40
    /* (non-Javadoc)
41
     * @see eu.etaxonomy.cdm.model.ICdmCacher#isCachable(eu.etaxonomy.cdm.model.common.CdmBase)
42
     */
43
    @Override
44
    public boolean isCachable(CdmBase cdmEntity) {
45
        if(cdmEntity != null && cdmEntity instanceof DefinedTermBase) {
46
            return true;
47
        }
48
        return false;
49
    }
50

    
51

    
52

    
53

    
54
}
(2-2/2)