001 package de.deepamehta.core.service.accesscontrol;
002
003 import de.deepamehta.core.JSONEnabled;
004
005 import org.codehaus.jettison.json.JSONObject;
006
007 import java.util.HashMap;
008
009
010
011 /**
012 * Calculated permissions for the current user.
013 * <p>
014 * A mapping from operations to booleans.
015 */
016 public class Permissions extends HashMap<String, Boolean> implements JSONEnabled {
017
018 // -------------------------------------------------------------------------------------------------- Public Methods
019
020 public Permissions add(Operation operation, boolean allowed) {
021 put(operation.uri, allowed);
022 return this;
023 }
024
025 @Override
026 public JSONObject toJSON() {
027 return new JSONObject(this);
028 }
029 }