Created the ResponderEvent
This commit is contained in:
parent
cc2bf61b1c
commit
8fdedab492
@ -0,0 +1,79 @@
|
||||
package de.gnmyt.autoresponder.event;
|
||||
|
||||
import de.gnmyt.autoresponder.SimpleAutoResponder;
|
||||
import de.gnmyt.autoresponder.event.api.EventData;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class ResponderEvent {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ResponderEvent.class);
|
||||
|
||||
private final SimpleAutoResponder responder;
|
||||
|
||||
private final String appPackageName;
|
||||
private final String messengerPackageName;
|
||||
|
||||
private final int ruleId;
|
||||
|
||||
/**
|
||||
* Constructor of the {@link ResponderEvent}
|
||||
*
|
||||
* @param responder The current instance of your {@link SimpleAutoResponder}
|
||||
* @param appPackageName The package name of the responder app
|
||||
* @param messengerPackageName The package name of your whatsapp instance
|
||||
* @param ruleId The id of the rule that has been executed
|
||||
*/
|
||||
public ResponderEvent(SimpleAutoResponder responder, String appPackageName, String messengerPackageName, int ruleId) {
|
||||
this.responder = responder;
|
||||
this.appPackageName = appPackageName;
|
||||
this.messengerPackageName = messengerPackageName;
|
||||
this.ruleId = ruleId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls all registered event listeners
|
||||
*/
|
||||
public void call() {
|
||||
ArrayList<EventData> eventList = responder.getEventManager().getEvents(this.getClass());
|
||||
|
||||
if (eventList == null) return;
|
||||
|
||||
for (EventData data : eventList) {
|
||||
try {
|
||||
data.method.invoke(data.object, this);
|
||||
} catch (Exception e) {
|
||||
LOG.error("Could not execute event: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the app package name of the responder
|
||||
*
|
||||
* @return the app package name of the responder
|
||||
*/
|
||||
public String getAppPackageName() {
|
||||
return appPackageName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the package name of your whatsapp instance
|
||||
*
|
||||
* @return the package name of your whatsapp instance
|
||||
*/
|
||||
public String getMessengerPackageName() {
|
||||
return messengerPackageName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the id of the rule provided by the responder
|
||||
*
|
||||
* @return the id of the rule provided by the responder
|
||||
*/
|
||||
public int getRuleId() {
|
||||
return ruleId;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user