package net.jxta.impl.cm.srdi.bdb; import com.sleepycat.je.DatabaseEntry; import net.jxta.peer.PeerID; import net.jxta.peergroup.PeerGroupID; /** * Peer removal must be isolated to the particular group and index name on which the removal was requested. * As such, the search key includes these attributes. */ public class PeerSearchKey { private PeerGroupID groupId; private String indexName; private PeerID peerId; public PeerSearchKey(PeerGroupID groupId, String indexName, PeerID peerId) { this.groupId = groupId; this.indexName = indexName; this.peerId = peerId; } public PeerGroupID getGroupId() { return groupId; } public String getIndexName() { return indexName; } public PeerID getPeerId() { return peerId; } public void toDatabaseEntry(DatabaseEntry entry) { new PeerSearchKeyTupleBinding().objectToEntry(this, entry); } public static PeerSearchKey fromDatabaseEntry(DatabaseEntry entry) { return new PeerSearchKeyTupleBinding().entryToObject(entry); } public DatabaseEntry toDatabaseEntry() { DatabaseEntry entry = new DatabaseEntry(); toDatabaseEntry(entry); return entry; } }