Package ch.qos.logback.core.subst
Class NodeToStringTransformer
java.lang.Object
ch.qos.logback.core.subst.NodeToStringTransformer
Compiles a previously parsed Node chain into a String.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Node(package private) final PropertyContainer(package private) final PropertyContainer -
Constructor Summary
ConstructorsConstructorDescriptionNodeToStringTransformer(Node node, PropertyContainer propertyContainer0) NodeToStringTransformer(Node node, PropertyContainer propertyContainer0, PropertyContainer propertyContainer1) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcompileNode(Node inputNode, StringBuilder stringBuilder, Stack<Node> cycleCheckStack) private StringconstructRecursionErrorMessage(Stack<Node> recursionNodes) private booleanequalNodes(Node node1, Node node2) private voidhandleLiteral(Node n, StringBuilder stringBuilder) private voidhandleVariable(Node n, StringBuilder stringBuilder, Stack<Node> cycleCheckStack) private booleanhaveVisitedNodeAlready(Node node, Stack<Node> cycleDetectionStack) Determine if a node has already been visited already by checking the cycleDetectionStack for it's existence.private Stringstatic StringsubstituteVariable(String input, PropertyContainer pc0, PropertyContainer pc1) private static NodetokenizeAndParseString(String value) private StringvariableNodeValue(Node variableNode)
-
Field Details
-
node
-
propertyContainer0
-
propertyContainer1
-
-
Constructor Details
-
NodeToStringTransformer
public NodeToStringTransformer(Node node, PropertyContainer propertyContainer0, PropertyContainer propertyContainer1) -
NodeToStringTransformer
-
-
Method Details
-
substituteVariable
public static String substituteVariable(String input, PropertyContainer pc0, PropertyContainer pc1) throws ScanException - Throws:
ScanException
-
tokenizeAndParseString
- Throws:
ScanException
-
transform
- Throws:
ScanException
-
compileNode
private void compileNode(Node inputNode, StringBuilder stringBuilder, Stack<Node> cycleCheckStack) throws ScanException - Throws:
ScanException
-
handleVariable
private void handleVariable(Node n, StringBuilder stringBuilder, Stack<Node> cycleCheckStack) throws ScanException - Throws:
ScanException
-
lookupKey
-
handleLiteral
-
variableNodeValue
-
constructRecursionErrorMessage
-
haveVisitedNodeAlready
Determine if a node has already been visited already by checking the cycleDetectionStack for it's existence. This method is used -- rather than Stack.contains() -- because we want to ignore the Node's 'next' attribute when comparing for equality. -
equalNodes
-