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 void
compileNode
(Node inputNode, StringBuilder stringBuilder, Stack<Node> cycleCheckStack) private String
constructRecursionErrorMessage
(Stack<Node> recursionNodes) private boolean
equalNodes
(Node node1, Node node2) private void
handleLiteral
(Node n, StringBuilder stringBuilder) private void
handleVariable
(Node n, StringBuilder stringBuilder, Stack<Node> cycleCheckStack) private boolean
haveVisitedNodeAlready
(Node node, Stack<Node> cycleDetectionStack) Determine if a node has already been visited already by checking the cycleDetectionStack for it's existence.private String
static String
substituteVariable
(String input, PropertyContainer pc0, PropertyContainer pc1) private static Node
tokenizeAndParseString
(String value) private String
variableNodeValue
(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
-