Package VASSAL.tools
Class RecursionLimiter
java.lang.Object
VASSAL.tools.RecursionLimiter
public class RecursionLimiter extends Object
Utility class to detect and report Infinite Loops within
Vassal components
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
RecursionLimiter.Loopable
-
Field Summary
Fields Modifier and Type Field Description protected static int
RECURSION_LIMIT
protected static int
recursionDepth
protected static boolean
reporting
-
Constructor Summary
Constructors Constructor Description RecursionLimiter()
-
Method Summary
Modifier and Type Method Description static void
endExecution()
static void
infiniteLoop(RecursionLimitException e)
Report an Infinite Loopstatic boolean
isReportingInfiniteLoop()
static void
startExecution(RecursionLimiter.Loopable looper)
-
Field Details
-
RECURSION_LIMIT
protected static final int RECURSION_LIMIT- See Also:
- Constant Field Values
-
recursionDepth
protected static int recursionDepth -
reporting
protected static boolean reporting
-
-
Constructor Details
-
RecursionLimiter
public RecursionLimiter()
-
-
Method Details
-
startExecution
- Throws:
RecursionLimitException
-
endExecution
public static void endExecution() -
infiniteLoop
Report an Infinite Loop- Parameters:
e
-
-
isReportingInfiniteLoop
public static boolean isReportingInfiniteLoop()
-