GUIItemBack.java
package it.fulminazzo.yagl.action;
import it.fulminazzo.yagl.event.ClickItemEvent;
import it.fulminazzo.yagl.gui.GUI;
import it.fulminazzo.yagl.viewer.Viewer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* An implementation of {@link GUIItemAction} that opens the previous {@link GUI} of the {@link Viewer}, if available.
*/
public final class GUIItemBack implements GUIItemAction {
@Override
public void execute(final @NotNull ClickItemEvent event) {
Viewer viewer = event.getViewer();
GUI previousGUI = viewer.getPreviousGUI();
if (previousGUI != null) previousGUI.open(viewer);
}
@Override
public @Nullable String serialize() {
return null;
}
@Override
public int hashCode() {
return getClass().hashCode();
}
@Override
public boolean equals(Object o) {
return o instanceof GUIItemBack;
}
@Override
public String toString() {
return getClass().getSimpleName();
}
}