package org.safehaus.penrose.federation;
import org.safehaus.penrose.ldap.SearchResult;
import org.safehaus.penrose.ldap.DN;
import java.util.Collection;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
import java.io.Serializable;
/**
* @author Endi Sukma Dewata
*/
public class IdentityLinkingResult implements Serializable {
public final static long serialVersionUID = 1L;
public final static Collection<Object> EMPTY = new ArrayList<Object>();
public final static int LOCAL_STORAGE = 0;
public final static int GLOBAL_STORAGE = 1;
private SearchResult entry;
private String localAttribute;
private String globalAttribute;
private boolean searched;
private String status;
public Map<DN,SearchResult> linkedEntries = new LinkedHashMap<DN,SearchResult>();
public Map<DN,SearchResult> matchedEntries = new LinkedHashMap<DN,SearchResult>();
public IdentityLinkingResult(SearchResult entry) {
this.entry = entry;
}
public DN getDn() {
return entry.getDn();
}
public SearchResult getEntry() {
return entry;
}
public void setEntry(SearchResult entry) {
this.entry = entry;
}
public boolean isSearched() {
return searched;
}
public void setSearched(boolean searched) {
this.searched = searched;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public void addLinkedEntry(SearchResult entry) {
linkedEntries.put(entry.getDn(), entry);
}
public Collection<SearchResult> getLinkedEntries() {
return linkedEntries.values();
}
public Collection<DN> getLinkedDNs() {
return linkedEntries.keySet();
}
public SearchResult getLinkedEntry(DN dn) {
return linkedEntries.get(dn);
}
public void removeLinkedEntry(DN dn) {
linkedEntries.remove(dn);
}
public void removeLinkedEntries() {
linkedEntries.clear();
}
public void addMatchedEntry(SearchResult entry) {
matchedEntries.put(entry.getDn(), entry);
}
public Collection<SearchResult> getMatchedEntries() {
return matchedEntries.values();
}
public Collection<DN> getMatchedDNs() {
return matchedEntries.keySet();
}
public SearchResult getMatchedEntry(DN dn) {
return matchedEntries.get(dn);
}
public void removeMatchedEntry(DN dn) {
matchedEntries.remove(dn);
}
public void removeMatchedEntries() {
matchedEntries.clear();
}
public String getLocalAttribute() {
return localAttribute;
}
public void setLocalAttribute(String localAttribute) {
this.localAttribute = localAttribute;
}
public String getGlobalAttribute() {
return globalAttribute;
}
public void setGlobalAttribute(String globalAttribute) {
this.globalAttribute = globalAttribute;
}
}