package net.sourceforge.fenixedu.domain.softwareLicenseManagement; import net.sourceforge.fenixedu.domain.RootDomainObject; import net.sourceforge.fenixedu.domain.accessControl.Group; public abstract class LicenseModel extends LicenseModel_Base { protected LicenseModel() { } public LicenseModel(Group availableTo) { super(); setRootDomainObject(RootDomainObject.getInstance()); setAvailabilityPolicy(availableTo); } public abstract void process(LicenseRequest request); public abstract boolean isPending(); public abstract void registerKey(String key); public void delete() { removeVersion(); removeRootDomainObject(); super.deleteDomainObject(); } }