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