/
SubsRepo.java
41 lines (29 loc) · 1.01 KB
/
SubsRepo.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package models;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import org.apache.commons.lang.StringUtils;
public class SubsRepo {
/*
* [peliId:[idioma:subtitulo]]
*/
private final ConcurrentMap<String, ConcurrentHashMap<String, String>> repo = new ConcurrentHashMap<String, ConcurrentHashMap<String,String>>();
public boolean add(String peli, String lang, String sub){
repo.putIfAbsent(peli, new ConcurrentHashMap<String, String>());
return repo.get(peli).putIfAbsent(lang, sub) == null;
}
public String get(String peli, String lang){
ConcurrentMap<String, String> langs = repo.get(peli);
return langs == null ? StringUtils.EMPTY : langs.get(lang);
}
public boolean remove(String peli, String lang){
ConcurrentMap<String, String> langs = repo.get(peli);
boolean result = false;
if ( langs != null ) {
result = langs.remove(lang) != null;
}
if ( langs == null || langs.isEmpty() ) {
repo.remove(peli);
}
return result;
}
}