package core.operation; import core.operation.utils.Utils; import core.user.User; import error.GExcptFormat; import gdms.Mode; import java.util.Map; public abstract class Operation { private Map options; private User subject; Operation(){ super(); } public abstract Map execute(User subject) throws Exception; public void setSubject(User subject) { this.subject = subject; } public User getSubject() { return subject; } public Map getOptions() { return options; } public void setOptions(String options) throws GExcptFormat { this.options = Utils.string2MapOptions(options); } public void addOptions(String key, Object value){ if ( Mode.strict == 1){ if(!this.options.containsKey(key)) { try { throw new Exception("options repeat"); } catch (Exception e) { e.printStackTrace(); } } } this.options.put(key,value); } public void setOptions(Map options) { this.options = options; } }