package envoy.server.processors; import java.io.IOException; import envoy.event.NameChange; import envoy.server.data.Contact; import envoy.server.data.PersistenceManager; import envoy.server.net.ObjectWriteProxy; /** * Project: envoy-server-standalone
* File: NameChangeProcessor.java
* Created: 26 Mar 2020
* * @author Leon Hofmeister * @since Envoy Server Standalone v0.1-beta */ public class NameChangeProcessor implements ObjectProcessor { private static final PersistenceManager persistenceManager = PersistenceManager.getInstance(); @Override public void process(NameChange nameChange, long socketID, ObjectWriteProxy writeProxy) throws IOException { Contact toUpdate = persistenceManager.getContactByID(nameChange.getID()); toUpdate.setName(nameChange.get()); persistenceManager.updateContact(toUpdate); // Notify online contacts of the name change writeProxy.writeToOnlineContacts(toUpdate.getContacts(), nameChange); } @Override public Class getInputClass() { return NameChange.class; } }