package org.fcrepo.server.security;
import org.fcrepo.common.Constants;
import org.fcrepo.server.Context;
import org.fcrepo.server.errors.authorization.AuthzException;
public interface PolicyEnforcementPoint {
public static final String SUBACTION_SEPARATOR = "//";
public static final String SUBRESOURCE_SEPARATOR = "//";
public static final String XACML_SUBJECT_ID =
Constants.XACML1_SUBJECT.ID.toString();
public static final String XACML_ACTION_ID =
Constants.XACML1_ACTION.ID.toString();
public static final String XACML_RESOURCE_ID =
Constants.XACML1_RESOURCE.ID.toString();
public void newPdp() throws Exception;
public abstract void inactivate();
public abstract void destroy();
public abstract void enforce(String subjectId, String action, String api,
String pid, String namespace, Context context)
throws AuthzException;
}