
package de.ivu.elect.jee.presentation.action;

import java.io.Serializable;

import org.primefaces.model.menu.MenuElement;

import de.ivu.elect.jee.entity.Entity;

public interface ActionEntry<E extends Entity< ? , ? >> extends Serializable {

  boolean hasPrincipalRequiredPermission();

  boolean isDisabled(E entity);

  MenuElement buildComponent(E entity);

  boolean isActionPossible(E entity);

  boolean isActionPossibleOnRowDblselect(E entity);

  void executeAction(Object o);

  String action(E entity);

  String getLabelKey();

  String getIcon();
}
