/* Copyright 2012-2015 SAP SE * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package eu.aniketos.securebpmn.xacml.api.log; public interface ILogStore { /** * store the provided AccessControlRequest to the log store; * this function should not block and return immediately, i.e., * the request should be put on a queue and handled by another * thread * @param requ */ void storeAccessControlRequest(AccessControlRequest requ); boolean logBreakGlassAccess(); boolean shutdown(); /** * returns a new unique ID; this ID should be used to create a new * AccessControlRequest * @return */ Long getNewEvaluationId(); AccessControlRequest getAccessControlRequest(Long evaluationId); }