package pt.ist.internalBilling;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.fenixedu.bennu.core.domain.User;
import com.google.gson.JsonObject;
import pt.ist.expenditureTrackingSystem.domain.organization.Unit;
import pt.ist.internalBilling.domain.Billable;
public interface BillingInformationHook {
public final static Set<BillingInformationHook> HOOKS = ConcurrentHashMap.newKeySet();
void addInfoFor(final JsonObject configuration, final Billable billable);
void addInfoFor(final JsonObject configuration, final User user);
void authorize(final Billable b);
void revoke(final Billable b);
void signalUnitChange(final User user, final Unit unit);
}