Class StackGuard

java.lang.Object
org.apache.xalan.transformer.StackGuard

public class StackGuard extends Object
Class to guard against recursion getting too deep.
  • Constructor Details

    • StackGuard

      public StackGuard(TransformerImpl transformerImpl)
      Constructor StackGuard
  • Method Details

    • getRecursionLimit

      public int getRecursionLimit()
      Get the recursion limit. Used for infinite loop check. If the value is -1, do not check for infinite loops. Anyone who wants to enable that check should change the value of this variable to be the level of recursion that they want to check. Be careful setting this variable, if the number is too low, it may report an infinite loop situation, when there is none. Post version 1.0.0, we'll make this a runtime feature.
      Returns:
      The recursion limit.
    • setRecursionLimit

      public void setRecursionLimit(int limit)
      Set the recursion limit. Used for infinite loop check. If the value is -1, do not check for infinite loops. Anyone who wants to enable that check should change the value of this variable to be the level of recursion that they want to check. Be careful setting this variable, if the number is too low, it may report an infinite loop situation, when there is none. Post version 1.0.0, we'll make this a runtime feature.
      Parameters:
      limit - The recursion limit.
    • countLikeTemplates

      public int countLikeTemplates(ElemTemplate templ, int pos)
      Overide equal method for StackGuard objects
    • checkForInfinateLoop

      public void checkForInfinateLoop() throws TransformerException
      Check if we are in an infinite loop
      Throws:
      TransformerException