Skip to content

Instantly share code, notes, and snippets.

@enesakar
Created March 19, 2014 12:49
Show Gist options
  • Select an option

  • Save enesakar/9640982 to your computer and use it in GitHub Desktop.

Select an option

Save enesakar/9640982 to your computer and use it in GitHub Desktop.
public class Main {
public static void main(String[] args) {
Config cfg = new XmlConfigBuilder().build();
HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(cfg);
IMap<Object, Person> map = instance1.getMap("map");
Person p1 = new Person("mustafa", 25);
p1.props.add("v1");
Person p2 = new Person("ahmet", 45);
p2.props.add("v2");
map.put("1", p1);
map.put("2", p2);
Collection<Person> values = map.values(new ContainsPredicate("v2"));
for (Person value : values) {
System.out.println(value);
}
}
static class ContainsPredicate implements Predicate, Serializable {
String value;
ContainsPredicate(String value) {
this.value = value;
}
@Override
public boolean apply(Map.Entry mapEntry) {
Person person = (Person) mapEntry.getValue();
return person.props.contains(value);
}
}
static class Person implements Serializable{
String name;
int age;
List<String> props = new ArrayList<String>();
Person child;
Person(String name, int age) {
this.name = name;
this.age = age;
}
Person(String name, int age, Person child) {
this.name = name;
this.age = age;
this.child = child;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", child=" + child +
'}';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment