package com.bagri.server.hazelcast.predicate; import java.util.Map; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.core.Member; import com.hazelcast.core.Partition; import com.hazelcast.core.PartitionService; import com.hazelcast.query.Predicate; public class MemberPredicate<K, V> implements Predicate<K, V> { /** * */ private static final long serialVersionUID = 7718023577992911275L; private PartitionService partService; private Member member; private Predicate<K, V> predicate; public MemberPredicate() { // } public MemberPredicate(PartitionService partService, Member member, Predicate<K, V> predicate) { this.partService = partService; this.member = member; this.predicate = predicate; } @Override public boolean apply(Map.Entry<K, V> mapEntry) { if (member.equals(partService.getPartition(mapEntry.getKey()).getOwner())) { return predicate.apply(mapEntry); } return false; } }