001 /*
002 * (c) 2010 ThoughtWorks Ltd
003 * All rights reserved.
004 *
005 * The software in this package is published under the terms of the BSD
006 * style license a copy of which has been included with this distribution in
007 * the LICENSE.txt file.
008 *
009 * Created on 19-03-2010.
010 */
011 package com.thoughtworks.proxy.toys.privilege;
012
013 import java.security.PrivilegedActionException;
014 import java.security.PrivilegedExceptionAction;
015
016 /**
017 * Interface to execute a {@link PrivilegedExceptionAction}. Implementations of this type are used by the
018 * {@linkplain Privileging privileging toy}.
019 *
020 * @author Jörg Schaible
021 * @since 1.0
022 */
023 public interface ActionExecutor
024 {
025 /**
026 * Execute a {@link PrivilegedExceptionAction}.
027 *
028 * @param action the action to run
029 * @return the return value of the action
030 * @throws PrivilegedActionException if the execution of the action fails
031 * @since 1.0
032 */
033 Object execute(PrivilegedExceptionAction<Object> action) throws PrivilegedActionException;
034 }