package hu.sch.services; import hu.sch.domain.enums.ValuationPeriod; import hu.sch.domain.Semester; import hu.sch.services.exceptions.NoSuchAttributeException; import java.util.Map; import javax.ejb.Local; /** * Rendszerattribútumok menedzselése. * Ide tartozik a szemeszter és az értékelési időszak lekérdezése / beállítása is. * * @author hege */ @Local public interface SystemManagerLocal { /** * EnumMap keys for sending exception report email to the dev list */ public enum EXC_REPORT_KEYS { PAGE_NAME, PAGE_PATH, PAGE_PARAMS, REMOTE_USER, REMOTE_ADDRESS, EMAIL, VIRID, EXCEPTION }; /** * Rendszerattribútum értékét kérdezi le * * @param attributeName * @return Az attribútumnévhez tartozó érték * @throws hu.sch.kp.services.exceptions.NoSuchAttributeException */ String getAttributeValue(String attributeName) throws NoSuchAttributeException; /** * Beállítja egy rendszerattribútum értékét * * @param attributeName * @param attributeValue */ void setAttributeValue(String attributeName, String attributeValue); /** * Visszaadja az aktuális szemesztert * * @return Az aktuális szemeszter objektuma * @throws NoSuchAttributeException */ Semester getSzemeszter(); /** * Visszaadja az aktuális értékelési időszakot * * @return Aktuális értékelési időszak */ ValuationPeriod getErtekelesIdoszak(); /** * Beállítja az aktuális szemesztert * * @param szemeszter */ void setSzemeszter(Semester szemeszter); /** * Értékelési időszakot vált * * @param idoszak */ void setErtekelesIdoszak(ValuationPeriod idoszak); /** * Visszaadja, hogy melyik log volt az amelyiket utoljára kiküldtük. * * @return Az utoljára kiküldött log ID-je */ long getLastLogId(); /** * Beállítja, hogy melyik log volt az utolsó amit kiküldtünk. */ void setLastLogId(long id); /** * Megmondja, hogy most gólyaidőszak van-e * @return <code>true</code> ha gólyaidőszak van, <code>false</code>, ha nem. */ boolean getNewbieTime(); /** * Beállítjaa gólyaidőszakot. * @param newbieTime gólyaidőszak van, vagy sem */ void setNewbieTime(boolean newbieTime); /** * Sends an email to the dev mailing list with the given details. * * @see EXC_REPORT_KEYS * * @param params */ void sendExceptionReportMail(final Map<SystemManagerLocal.EXC_REPORT_KEYS, String> params); /** * Gets the user profile url. * * @return the url. */ public String getShowUserLink(); /** * Gets the korok base url. * * @return the url. */ public String getBaseLink(); /** * Gets the valuation url. * * @return the url. */ public String getValuationLink(); /** * Gets the consider url. * * @return the url. */ public String getConsiderLink(); }