Uses of Class
org.mvel2.ParserContext

Packages that use ParserContext
org.mvel2   
org.mvel2.ast   
org.mvel2.compiler   
org.mvel2.integration.impl   
org.mvel2.optimizers   
org.mvel2.optimizers.dynamic   
org.mvel2.optimizers.impl.asm   
org.mvel2.optimizers.impl.refl   
org.mvel2.optimizers.impl.refl.collection   
org.mvel2.optimizers.impl.refl.nodes   
org.mvel2.templates   
org.mvel2.templates.res   
org.mvel2.util   
 

Uses of ParserContext in org.mvel2
 

Methods in org.mvel2 that return ParserContext
static ParserContext ParserContext.create()
           
 ParserContext ParserContext.createColoringSubcontext()
           
 ParserContext ParserContext.createSubcontext()
           
 ParserContext ParserContext.stronglyTyped()
           
 ParserContext ParserContext.withImport(Class clazz)
           
 ParserContext ParserContext.withIndexedVars(String[] varNames)
           
 ParserContext ParserContext.withInput(String name, Class type)
           
 ParserContext ParserContext.withInputs(Map<String,Class> inputs)
           
 ParserContext ParserContext.withTypeParameters(Map<String,Map<String,Type>> typeParameters)
           
 

Methods in org.mvel2 with parameters of type ParserContext
static void MVEL.analysisCompile(char[] expression, ParserContext ctx)
          Performs an analysis compileShared, which will populate the ParserContext with type, input and variable information, but will not produce a payload.
static void MVEL.analysisCompile(String expression, ParserContext ctx)
           
static Class MVEL.analyze(char[] expression, ParserContext ctx)
           
static Class MVEL.analyze(String expression, ParserContext ctx)
           
static Serializable MVEL.compileExpression(char[] expression, int start, int offset, ParserContext ctx)
           
static Serializable MVEL.compileExpression(char[] expression, ParserContext ctx)
           
static Serializable MVEL.compileExpression(String expression, ParserContext ctx)
          Compiles an expression, and accepts a ParserContext instance.
static Serializable MVEL.compileGetExpression(char[] expression, ParserContext ctx)
           
static Serializable MVEL.compileGetExpression(String expression, ParserContext ctx)
           
static Serializable MVEL.compileSetExpression(char[] expression, Class ingressType, ParserContext ctx)
           
static Serializable MVEL.compileSetExpression(char[] expression, int start, int offset, ParserContext ctx)
           
static Serializable MVEL.compileSetExpression(char[] expression, ParserContext ctx)
           
static Serializable MVEL.compileSetExpression(String expression, Class ingressType, ParserContext ctx)
           
static Serializable MVEL.compileSetExpression(String expression, ParserContext ctx)
           
static Object PropertyAccessor.get(char[] property, int offset, int end, Object ctx, VariableResolverFactory resolver, Object thisReferece, ParserContext pCtx)
           
static Object PropertyAccessor.get(String property, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx)
           
static void PropertyAccessor.set(Object ctx, VariableResolverFactory resolver, String property, Object value, ParserContext pCtx)
           
 

Constructors in org.mvel2 with parameters of type ParserContext
CompileException(String message, List<ErrorDetail> errors, char[] expr, int cursor, ParserContext ctx)
           
MVELInterpretedRuntime(char[] expr, int start, int offset, Object ctx, VariableResolverFactory resolverFactory, ParserContext pCtx)
           
MVELInterpretedRuntime(String expression, Object ctx, VariableResolverFactory resolverFactory, ParserContext pCtx)
           
ParserContext(ParserConfiguration parserConfiguration, ParserContext parent, boolean functionContext)
           
PropertyAccessException(String message, char[] expr, int cursor, ParserContext pCtx)
           
PropertyAccessException(String message, char[] expr, int cursor, Throwable e, ParserContext pCtx)
           
PropertyAccessor(char[] property, int start, int offset, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx)
           
PropertyAccessor(char[] property, Object ctx, VariableResolverFactory resolver, Object thisReference, ParserContext pCtx)
           
 

Uses of ParserContext in org.mvel2.ast
 

Fields in org.mvel2.ast declared as ParserContext
protected  ParserContext ASTNode.pCtx
           
 

Methods in org.mvel2.ast with parameters of type ParserContext
static WithNode.ParmValuePair[] WithNode.compileWithExpressions(char[] block, int start, int offset, String nestParm, Class egressType, ParserContext pCtx)
           
static Class TypeDescriptor.getClassReference(Class baseType, TypeDescriptor tDescr, VariableResolverFactory factory, ParserContext ctx)
           
 Class<?> TypeDescriptor.getClassReference(ParserContext ctx)
           
static Class TypeDescriptor.getClassReference(ParserContext ctx, Class cls, TypeDescriptor tDescr)
           
static Class TypeDescriptor.getClassReference(ParserContext ctx, TypeDescriptor tDescr)
           
 IfNode IfNode.setElseBlock(char[] block, int cursor, int offset, ParserContext ctx)
           
 

Constructors in org.mvel2.ast with parameters of type ParserContext
And(ASTNode left, ASTNode right, boolean strongTyping, ParserContext pCtx)
           
AssertNode(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
AssignmentNode(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
ASTNode(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
ASTNode(ParserContext pCtx)
           
BinaryOperation(int operation, ASTNode left, ASTNode right, ParserContext ctx)
           
BinaryOperation(int operation, ParserContext ctx)
           
BlockNode(ParserContext pCtx)
           
BooleanNode(ParserContext pCtx)
           
Contains(ASTNode stmt, ASTNode stmt2, ParserContext pCtx)
           
Convertable(ASTNode stmt, ASTNode clsStmt, ParserContext pCtx)
           
DeclProtoVarNode(String name, Proto type, int fields, ParserContext pCtx)
           
DeclTypedVarNode(String name, char[] expr, int start, int offset, Class type, int fields, ParserContext pCtx)
           
DeepAssignmentNode(char[] expr, int start, int offset, int fields, int operation, String name, ParserContext pCtx)
           
DeepAssignmentNode(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
DoNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
DoUntilNode(char[] expr, int start, int offset, int blockStart, int blockOffset, ParserContext pCtx)
           
EndOfStatement(ParserContext pCtx)
           
Fold(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
ForEachNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
ForNode(char[] expr, int start, int offset, int blockStart, int blockEnd, int fields, ParserContext pCtx)
           
Function(String name, char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
IfNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
ImportNode(char[] expr, int start, int offset, ParserContext pCtx)
           
IndexedAssignmentNode(char[] expr, int start, int offset, int fields, int register, ParserContext pCtx)
           
IndexedAssignmentNode(char[] expr, int start, int offset, int fields, int operation, String name, int register, ParserContext pCtx)
           
IndexedDeclTypedVarNode(int register, int start, int offset, Class type, ParserContext pCtx)
           
IndexedOperativeAssign(char[] expr, int start, int offset, int operation, int register, int fields, ParserContext pCtx)
           
IndexedPostFixDecNode(int register, ParserContext pCtx)
           
IndexedPostFixIncNode(int register, ParserContext pCtx)
           
IndexedPreFixDecNode(int register, ParserContext pCtx)
           
IndexedPreFixIncNode(int register, ParserContext pCtx)
           
InlineCollectionNode(char[] expr, int start, int end, int fields, Class type, ParserContext pctx)
           
InlineCollectionNode(char[] expr, int start, int end, int fields, ParserContext pctx)
           
Instance(ASTNode stmt, ASTNode clsStmt, ParserContext pCtx)
           
IntAdd(ASTNode left, ASTNode right, ParserContext pCtx)
           
IntDiv(ASTNode left, ASTNode right, ParserContext pCtx)
           
InterceptorWrapper(Interceptor interceptor, ASTNode node, ParserContext pCtx)
           
IntMult(ASTNode left, ASTNode right, ParserContext pCtx)
           
IntSub(ASTNode left, ASTNode right, ParserContext pCtx)
           
Invert(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
IsDef(char[] expr, int start, int offset, ParserContext pCtx)
           
LineLabel(String sourceFile, int lineNumber, ParserContext pCtx)
           
LiteralDeepPropertyNode(char[] expr, int start, int offset, int fields, Object literal, ParserContext pCtx)
           
LiteralNode(Object literal, Class type, ParserContext pCtx)
           
LiteralNode(Object literal, ParserContext pCtx)
           
Negation(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
NewObjectNode(TypeDescriptor typeDescr, int fields, ParserContext pCtx)
           
NewObjectPrototype(ParserContext pCtx, Function function)
           
NewPrototypeNode(TypeDescriptor t, ParserContext pCtx)
           
OperativeAssign(String variableName, char[] expr, int start, int offset, int operation, int fields, ParserContext pCtx)
           
OperatorNode(Integer operator, char[] expr, int start, ParserContext pCtx)
           
Or(ASTNode left, ASTNode right, boolean strongTyping, ParserContext pCtx)
           
PostFixDecNode(String name, ParserContext pCtx)
           
PostFixIncNode(String name, ParserContext pCtx)
           
PreFixDecNode(String name, ParserContext pCtx)
           
PreFixIncNode(String name, ParserContext pCtx)
           
Proto(String name, ParserContext pCtx)
           
ProtoVarNode(char[] expr, int start, int offset, int fields, Proto type, ParserContext pCtx)
           
RegExMatch(char[] expr, int start, int offset, int fields, int patternStart, int patternOffset, ParserContext pCtx)
           
RegExMatchNode(ASTNode matchNode, ASTNode patternNode, ParserContext pCtx)
           
ReturnNode(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
Sign(char[] expr, int start, int end, int fields, ParserContext pCtx)
           
Soundslike(ASTNode stmt, ASTNode clsStmt, ParserContext pCtx)
           
Stacklang(char[] expr, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
StaticImportNode(char[] expr, int start, int offset, ParserContext pCtx)
           
Strsim(ASTNode stmt, ASTNode clsStmt, ParserContext pCtx)
           
Substatement(char[] expr, int start, int offset, int fields, ParserContext pCtx)
           
ThisWithNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
TypeCast(char[] expr, int start, int offset, Class cast, int fields, ParserContext pCtx)
           
TypedVarNode(char[] expr, int start, int offset, int fields, Class type, ParserContext pCtx)
           
Union(char[] expr, int start, int offset, int fields, ASTNode main, ParserContext pCtx)
           
UntilNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
WhileNode(char[] expr, int start, int offset, int blockStart, int blockEnd, int fields, ParserContext pCtx)
           
WithNode.ParmValuePair(String parameter, ExecutableStatement statement, Class ingressType, ParserContext pCtx)
           
WithNode(char[] expr, int start, int offset, int blockStart, int blockOffset, int fields, ParserContext pCtx)
           
 

Uses of ParserContext in org.mvel2.compiler
 

Fields in org.mvel2.compiler declared as ParserContext
protected  ParserContext AbstractParser.pCtx
           
 

Methods in org.mvel2.compiler that return ParserContext
 ParserContext ExpressionCompiler.getParserContextState()
           
 

Methods in org.mvel2.compiler with parameters of type ParserContext
protected  ASTNode ExpressionCompiler.verify(ParserContext pCtx, ASTNode tk)
           
 

Constructors in org.mvel2.compiler with parameters of type ParserContext
AbstractParser(ParserContext pCtx)
           
CompiledAccExpression(char[] expression, Class ingressType, ParserContext context)
           
CompiledAccExpression(char[] expression, int start, int offset, Class ingressType, ParserContext context)
           
ExpressionCompiler(char[] expression, int start, int offset, ParserContext ctx)
           
ExpressionCompiler(char[] expression, ParserContext ctx)
           
ExpressionCompiler(String expression, int start, int offset, ParserContext ctx)
           
ExpressionCompiler(String expression, ParserContext ctx)
           
PropertyVerifier(char[] property, int start, int offset, ParserContext parserContext)
           
PropertyVerifier(char[] property, ParserContext parserContext)
           
PropertyVerifier(String property, ParserContext parserContext)
           
PropertyVerifier(String property, ParserContext parserContext, Class root)
           
 

Uses of ParserContext in org.mvel2.integration.impl
 

Constructors in org.mvel2.integration.impl with parameters of type ParserContext
StaticMethodImportResolverFactory(ParserContext ctx)
           
TypeInjectionResolverFactoryImpl(ParserContext ctx, VariableResolverFactory nextVariableResolverFactory)
           
 

Uses of ParserContext in org.mvel2.optimizers
 

Methods in org.mvel2.optimizers with parameters of type ParserContext
 Accessor AccessorOptimizer.optimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Class ingressType)
           
 Accessor AccessorOptimizer.optimizeCollection(ParserContext pCtx, Object collectionGraph, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor AccessorOptimizer.optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor AccessorOptimizer.optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class ingressType)
           
 

Constructors in org.mvel2.optimizers with parameters of type ParserContext
AbstractOptimizer(ParserContext pCtx)
           
 

Uses of ParserContext in org.mvel2.optimizers.dynamic
 

Methods in org.mvel2.optimizers.dynamic with parameters of type ParserContext
 Accessor DynamicOptimizer.optimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Class ingressType)
           
 Accessor DynamicOptimizer.optimizeCollection(ParserContext pCtx, Object rootObject, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor DynamicOptimizer.optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor DynamicOptimizer.optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class valueType)
           
 

Constructors in org.mvel2.optimizers.dynamic with parameters of type ParserContext
DynamicCollectionAccessor(ParserContext pCtx, Object rootObject, Class colType, char[] property, int start, int offset, int type, Accessor _accessor)
           
DynamicGetAccessor(ParserContext pCtx, char[] expr, int start, int offset, int type, Accessor _accessor)
           
DynamicSetAccessor(ParserContext context, char[] property, int start, int offset, Accessor _accessor)
           
 

Uses of ParserContext in org.mvel2.optimizers.impl.asm
 

Methods in org.mvel2.optimizers.impl.asm with parameters of type ParserContext
 Accessor ASMAccessorOptimizer.optimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object staticContext, Object thisRef, VariableResolverFactory factory, boolean root, Class ingressType)
           
 Accessor ASMAccessorOptimizer.optimizeCollection(ParserContext pCtx, Object o, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor ASMAccessorOptimizer.optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor ASMAccessorOptimizer.optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class ingressType)
           
 

Uses of ParserContext in org.mvel2.optimizers.impl.refl
 

Methods in org.mvel2.optimizers.impl.refl with parameters of type ParserContext
 Accessor ReflectiveAccessorOptimizer.optimizeAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean root, Class ingressType)
           
 Accessor ReflectiveAccessorOptimizer.optimizeCollection(ParserContext pCtx, Object o, Class type, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor ReflectiveAccessorOptimizer.optimizeObjectCreation(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory)
           
 Accessor ReflectiveAccessorOptimizer.optimizeSetAccessor(ParserContext pCtx, char[] property, int start, int offset, Object ctx, Object thisRef, VariableResolverFactory factory, boolean rootThisRef, Object value, Class ingressType)
           
 

Uses of ParserContext in org.mvel2.optimizers.impl.refl.collection
 

Constructors in org.mvel2.optimizers.impl.refl.collection with parameters of type ParserContext
ExprValueAccessor(String ex, Class expectedType, Object ctx, VariableResolverFactory factory, ParserContext pCtx)
           
 

Uses of ParserContext in org.mvel2.optimizers.impl.refl.nodes
 

Constructors in org.mvel2.optimizers.impl.refl.nodes with parameters of type ParserContext
NullSafe(char[] expr, int start, int offset, ParserContext pCtx)
           
Union(ParserContext pCtx, Accessor accessor, char[] nextAccessor, int start, int offset)
           
WithAccessor.ExecutablePairs(String parameter, ExecutableStatement statement, Class ingressType, ParserContext pCtx)
           
WithAccessor(ParserContext pCtx, String property, char[] expr, int start, int offset, Class ingressType)
           
 

Uses of ParserContext in org.mvel2.templates
 

Methods in org.mvel2.templates that return ParserContext
 ParserContext TemplateCompiler.getParserContext()
           
 

Methods in org.mvel2.templates with parameters of type ParserContext
static CompiledTemplate TemplateCompiler.compileTemplate(char[] template, Map<String,Class<? extends Node>> customNodes, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(char[] template, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(CharSequence template, Map<String,Class<? extends Node>> customNodes, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(CharSequence template, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(File file, Map<String,Class<? extends Node>> customNodes, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(File file, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(InputStream stream, Map<String,Class<? extends Node>> customNodes, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(InputStream stream, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(String template, Map<String,Class<? extends Node>> customNodes, ParserContext context)
           
static CompiledTemplate TemplateCompiler.compileTemplate(String template, ParserContext context)
           
 

Constructors in org.mvel2.templates with parameters of type ParserContext
TemplateCompiler(char[] template, boolean codeCache, ParserContext context)
           
TemplateCompiler(char[] template, Map<String,Class<? extends Node>> customNodes, boolean codeCache, ParserContext context)
           
TemplateCompiler(CharSequence sequence, boolean codeCache, ParserContext context)
           
TemplateCompiler(CharSequence sequence, Map<String,Class<? extends Node>> customNodes, boolean codeCache, ParserContext context)
           
TemplateCompiler(String template, Map<String,Class<? extends Node>> customNodes, boolean codeCache, ParserContext context)
           
 

Uses of ParserContext in org.mvel2.templates.res
 

Constructors in org.mvel2.templates.res with parameters of type ParserContext
CompiledCodeNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledDeclareNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledEvalNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledExpressionNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledForEachNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledIfNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledIncludeNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledNamedIncludeNode(int begin, String name, char[] template, int start, int end, ParserContext context)
           
CompiledTerminalExpressionNode(Node node, ParserContext context)
           
 

Uses of ParserContext in org.mvel2.util
 

Methods in org.mvel2.util with parameters of type ParserContext
static int ParseTools.balancedCaptureWithLineAccounting(char[] chars, int start, int end, char type, ParserContext pCtx)
           
static int ParseTools.captureToEOS(char[] expr, int cursor, int end, ParserContext pCtx)
           
static int ParseTools.captureToNextTokenJunction(char[] expr, int cursor, int end, ParserContext pCtx)
           
static void ProtoParser.checkForPossibleUnresolvedViolations(char[] expr, int cursor, ParserContext pCtx)
          This is such a horrible hack, but it's more performant than any other horrible hack I can think of right now.
static SimpleVariableSpaceModel VariableSpaceCompiler.compile(String expr, ParserContext pCtx)
           
static SharedVariableSpaceModel VariableSpaceCompiler.compileShared(String expr, ParserContext pCtx)
           
static SharedVariableSpaceModel VariableSpaceCompiler.compileShared(String expr, ParserContext pCtx, Object[] vars)
           
static Class ParseTools.createClass(String className, ParserContext pCtx)
           
static void CompilerTools.expectType(ParserContext pCtx, Accessor expression, Class type, boolean compileMode)
           
static void CompilerTools.expectType(ParserContext pCtx, ASTNode node, Class type, boolean compileMode)
           
static ASTLinkedList CompilerTools.finalizePayload(ASTLinkedList astLinkedList, boolean secondPassOptimization, ParserContext pCtx)
          Finalize the payload, by reducing any stack-based-operations to dedicated nodes where possible.
static Class ParseTools.findClass(VariableResolverFactory factory, String name, ParserContext pCtx)
           
static ClassImportResolverFactory ParseTools.findClassImportResolverFactory(VariableResolverFactory factory, ParserContext pCtx)
           
static Class PropertyTools.getReturnType(Class clazz, String property, ParserContext ctx)
           
 Object CollectionParser.parseCollection(char[] property, int start, int offset, boolean subcompile, Class colType, ParserContext pCtx)
           
 Object CollectionParser.parseCollection(char[] property, int start, int offset, boolean subcompile, ParserContext pCtx)
           
static Serializable ParseTools.subCompileExpression(char[] expression, int start, int offset, ParserContext ctx)
           
static Serializable ParseTools.subCompileExpression(char[] expression, ParserContext ctx)
           
static Serializable ParseTools.subCompileExpression(String expression, ParserContext ctx)
           
 

Constructors in org.mvel2.util with parameters of type ParserContext
FunctionParser(String functionName, int cursor, int endOffset, char[] expr, int fields, ParserContext pCtx, ExecutionStack splitAccumulator)
           
ProtoParser(char[] expr, int offset, int offsetEnd, String protoName, ParserContext pCtx, int fields, ExecutionStack splitAccumulator)
           
 



Copyright © 2001–2020 JBoss by Red Hat. All rights reserved.