package org.apache.kerberos.kerb.identity.backend;
import org.apache.kerberos.kerb.identity.KrbIdentity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class InMemoryIdentityBackend extends AbstractIdentityBackend {
private Map<String, KrbIdentity> identities;
public InMemoryIdentityBackend() {
this.identities = new HashMap<String, KrbIdentity>();
}
public InMemoryIdentityBackend(Map<String, KrbIdentity> identities) {
this();
this.identities.putAll(identities);
}
@Override
public List<KrbIdentity> getIdentities() {
List<KrbIdentity> results = new ArrayList<KrbIdentity>(identities.size());
results.addAll(identities.values());
return results;
}
@Override
public boolean checkIdentity(String name) {
return identities.containsKey(name);
}
@Override
public KrbIdentity getIdentity(String name) {
if (identities.containsKey(name)) {
return identities.get(name);
}
return null;
}
@Override
public void addIdentity(KrbIdentity identity) {
identities.put(identity.getPrincipalName(), identity);
}
@Override
public void updateIdentity(KrbIdentity identity) {
identities.put(identity.getPrincipalName(), identity);
}
@Override
public void deleteIdentity(KrbIdentity identity) {
identities.remove(identity.getPrincipalName());
}
}