import java.util.Map;
import java.util.HashMap;
class LockPlain {
private final java.util.concurrent.locks.ReadWriteLock dictionaryLock = new java.util.concurrent.locks.ReentrantReadWriteLock();
private Map<String, String> dictionary = new HashMap<String, String>();
@java.lang.SuppressWarnings("all")
public void put(final String key, final String value) {
if (key == null) {
throw new java.lang.NullPointerException(java.lang.String.format("The validated object \'%s\' (argument #%s) is null", "key", 1));
}
if (key.isEmpty()) {
throw new java.lang.IllegalArgumentException(java.lang.String.format("The validated object \'%s\' (argument #%s) is empty", "key", 1));
}
final String sanitizedKey = checkKey(key);
this.dictionaryLock.writeLock().lock();
try {
dictionary.put(sanitizedKey, value);
} finally {
this.dictionaryLock.writeLock().unlock();
}
}
@java.lang.SuppressWarnings("all")
public String get(final String key) {
if (key == null) {
throw new java.lang.NullPointerException(java.lang.String.format("The validated object \'%s\' (argument #%s) is null", "key", 1));
}
if (key.isEmpty()) {
throw new java.lang.IllegalArgumentException(java.lang.String.format("The validated object \'%s\' (argument #%s) is empty", "key", 1));
}
final String sanitizedKey = checkKey(key);
this.dictionaryLock.readLock().lock();
try {
return dictionary.get(sanitizedKey);
} finally {
this.dictionaryLock.readLock().unlock();
}
}
private String checkKey(final String key) {
// do something;
return key;
}
}