package com.hazelcast.examples.application.cache; import com.hazelcast.examples.application.model.User; import javax.cache.processor.EntryProcessor; import javax.cache.processor.EntryProcessorException; import javax.cache.processor.MutableEntry; public class UserUpdateEntryProcessor implements EntryProcessor<Integer, User, User> { @Override public User process(MutableEntry<Integer, User> entry, Object... arguments) throws EntryProcessorException { // test arguments length if (arguments.length < 1) { throw new EntryProcessorException("One argument needed: username"); } // get first argument and test for String type Object argument = arguments[0]; if (!(argument instanceof String)) { throw new EntryProcessorException("First argument has wrong type, required java.lang.String"); } // retrieve the value from the MutableEntry User user = entry.getValue(); // retrieve the new username from the first argument String newUsername = (String) arguments[0]; // set the new username user.setUsername(newUsername); // set the changed user to mark the entry as dirty entry.setValue(user); // return the changed user to return it to the caller return user; } }