public final class PostgreSQLParser extends PostgreSQLStatementParser implements org.apache.shardingsphere.sql.parser.api.parser.SQLParser
PostgreSQLStatementParser.ActionContext, PostgreSQLStatementParser.AddColumnSpecificationContext, PostgreSQLStatementParser.AddConstraintSpecificationContext, PostgreSQLStatementParser.AggregationFunctionContext, PostgreSQLStatementParser.AggregationFunctionNameContext, PostgreSQLStatementParser.AliasContext, PostgreSQLStatementParser.AlterColumnSetOptionContext, PostgreSQLStatementParser.AlterDefinitionClauseContext, PostgreSQLStatementParser.AlterIndexContext, PostgreSQLStatementParser.AlterIndexDefinitionClause_Context, PostgreSQLStatementParser.AlterIndexDependsOnExtensionContext, PostgreSQLStatementParser.AlterIndexSetTableSpaceContext, PostgreSQLStatementParser.AlterRoleContext, PostgreSQLStatementParser.AlterTableActionContext, PostgreSQLStatementParser.AlterTableActionsContext, PostgreSQLStatementParser.AlterTableContext, PostgreSQLStatementParser.AlterUserContext, PostgreSQLStatementParser.AssignmentContext, PostgreSQLStatementParser.AssignmentValueContext, PostgreSQLStatementParser.AssignmentValuesContext, PostgreSQLStatementParser.AsteriskClause_Context, PostgreSQLStatementParser.AttributeOptionContext, PostgreSQLStatementParser.AttributeOptionsContext, PostgreSQLStatementParser.BeginTransactionContext, PostgreSQLStatementParser.BitExprContext, PostgreSQLStatementParser.BitValueLiteralsContext, PostgreSQLStatementParser.BooleanLiteralsContext, PostgreSQLStatementParser.BooleanPrimaryContext, PostgreSQLStatementParser.CallContext, PostgreSQLStatementParser.CaseElse_Context, PostgreSQLStatementParser.CaseExpressionContext, PostgreSQLStatementParser.CaseWhen_Context, PostgreSQLStatementParser.CastFunctionContext, PostgreSQLStatementParser.CharacterSet_Context, PostgreSQLStatementParser.CharFunctionContext, PostgreSQLStatementParser.CheckOptionContext, PostgreSQLStatementParser.CollateClause_Context, PostgreSQLStatementParser.CollationNameContext, PostgreSQLStatementParser.ColumnConstraintContext, PostgreSQLStatementParser.ColumnConstraintOptionContext, PostgreSQLStatementParser.ColumnDefinitionContext, PostgreSQLStatementParser.ColumnExistClause_Context, PostgreSQLStatementParser.ColumnNameContext, PostgreSQLStatementParser.ColumnNamesContext, PostgreSQLStatementParser.CommitContext, PostgreSQLStatementParser.ComparisonOperatorContext, PostgreSQLStatementParser.ConcurrentlyClause_Context, PostgreSQLStatementParser.ConfigurationParameterClauseContext, PostgreSQLStatementParser.ConstraintClauseContext, PostgreSQLStatementParser.ConstraintOptionalParamContext, PostgreSQLStatementParser.CreateDefinitionClauseContext, PostgreSQLStatementParser.CreateDefinitionContext, PostgreSQLStatementParser.CreateIndexContext, PostgreSQLStatementParser.CreateIndexSpecification_Context, PostgreSQLStatementParser.CreateRoleContext, PostgreSQLStatementParser.CreateTableContext, PostgreSQLStatementParser.CreateTableSpecification_Context, PostgreSQLStatementParser.CreateUserContext, PostgreSQLStatementParser.DataTypeContext, PostgreSQLStatementParser.DataTypeLengthContext, PostgreSQLStatementParser.DataTypeNameContext, PostgreSQLStatementParser.DefaultExprContext, PostgreSQLStatementParser.DeleteContext, PostgreSQLStatementParser.DeleteSpecification_Context, PostgreSQLStatementParser.DistinctContext, PostgreSQLStatementParser.DropColumnSpecificationContext, PostgreSQLStatementParser.DropIndexContext, PostgreSQLStatementParser.DropRoleContext, PostgreSQLStatementParser.DropTableContext, PostgreSQLStatementParser.DropUserContext, PostgreSQLStatementParser.DuplicateSpecificationContext, PostgreSQLStatementParser.ExecuteContext, PostgreSQLStatementParser.ExprContext, PostgreSQLStatementParser.FilterClause_Context, PostgreSQLStatementParser.FrameBetween_Context, PostgreSQLStatementParser.FrameClause_Context, PostgreSQLStatementParser.FrameEnd_Context, PostgreSQLStatementParser.FrameStart_Context, PostgreSQLStatementParser.FromClauseContext, PostgreSQLStatementParser.FunctionCallContext, PostgreSQLStatementParser.GrantContext, PostgreSQLStatementParser.GroupByClauseContext, PostgreSQLStatementParser.HavingClauseContext, PostgreSQLStatementParser.HexadecimalLiteralsContext, PostgreSQLStatementParser.IdentifierContext, PostgreSQLStatementParser.IgnoredIdentifier_Context, PostgreSQLStatementParser.IgnoredIdentifiers_Context, PostgreSQLStatementParser.IndexExistClause_Context, PostgreSQLStatementParser.IndexNameContext, PostgreSQLStatementParser.IndexNamesContext, PostgreSQLStatementParser.IndexNotExistClause_Context, PostgreSQLStatementParser.IndexParametersContext, PostgreSQLStatementParser.InheritClause_Context, PostgreSQLStatementParser.InsertContext, PostgreSQLStatementParser.InsertSelectClauseContext, PostgreSQLStatementParser.InsertValuesClauseContext, PostgreSQLStatementParser.JoinedTableContext, PostgreSQLStatementParser.JoinSpecificationContext, PostgreSQLStatementParser.LikeOptionContext, PostgreSQLStatementParser.LimitClauseContext, PostgreSQLStatementParser.LimitOffsetContext, PostgreSQLStatementParser.LimitOffsetSyntaxContext, PostgreSQLStatementParser.LimitRowCountContext, PostgreSQLStatementParser.LimitRowCountSyntaxContext, PostgreSQLStatementParser.LiteralsContext, PostgreSQLStatementParser.LiteralsType_Context, PostgreSQLStatementParser.LogicalOperatorContext, PostgreSQLStatementParser.ModifyColumnContext, PostgreSQLStatementParser.ModifyColumnSpecificationContext, PostgreSQLStatementParser.MultipleTableNamesContext, PostgreSQLStatementParser.MultipleTablesClauseContext, PostgreSQLStatementParser.NameContext, PostgreSQLStatementParser.NotOperator_Context, PostgreSQLStatementParser.NullValueLiteralsContext, PostgreSQLStatementParser.NumberLiteralsContext, PostgreSQLStatementParser.OnlyClause_Context, PostgreSQLStatementParser.OnObjectClauseContext, PostgreSQLStatementParser.OptionForClause_Context, PostgreSQLStatementParser.OrderByClauseContext, PostgreSQLStatementParser.OrderByItemContext, PostgreSQLStatementParser.OwnerContext, PostgreSQLStatementParser.ParameterMarkerContext, PostgreSQLStatementParser.PratitionClause_Context, PostgreSQLStatementParser.PredicateContext, PostgreSQLStatementParser.PrimaryKeyContext, PostgreSQLStatementParser.PrivilegeClauseContext, PostgreSQLStatementParser.Privileges_Context, PostgreSQLStatementParser.PrivilegeType_Context, PostgreSQLStatementParser.ProjectionContext, PostgreSQLStatementParser.ProjectionsContext, PostgreSQLStatementParser.QualifiedShorthandContext, PostgreSQLStatementParser.RegularFunctionContext, PostgreSQLStatementParser.RegularFunctionName_Context, PostgreSQLStatementParser.RenameColumnSpecificationContext, PostgreSQLStatementParser.RenameConstraintContext, PostgreSQLStatementParser.RenameIndexSpecificationContext, PostgreSQLStatementParser.RenameTableSpecification_Context, PostgreSQLStatementParser.ResetParameterContext, PostgreSQLStatementParser.RevokeContext, PostgreSQLStatementParser.RoleClause_Context, PostgreSQLStatementParser.RollbackContext, PostgreSQLStatementParser.RuntimeScope_Context, PostgreSQLStatementParser.SavepointContext, PostgreSQLStatementParser.SchemaNameContext, PostgreSQLStatementParser.SelectClauseContext, PostgreSQLStatementParser.SelectContext, PostgreSQLStatementParser.SequenceOptionContext, PostgreSQLStatementParser.SequenceOptionsContext, PostgreSQLStatementParser.SetAssignmentsClauseContext, PostgreSQLStatementParser.SetContext, PostgreSQLStatementParser.SetTransactionContext, PostgreSQLStatementParser.ShowContext, PostgreSQLStatementParser.SimpleExprContext, PostgreSQLStatementParser.SingleTableClauseContext, PostgreSQLStatementParser.SpecialFunctionContext, PostgreSQLStatementParser.StorageParameterContext, PostgreSQLStatementParser.StorageParameterWithValueContext, PostgreSQLStatementParser.StringLiteralsContext, PostgreSQLStatementParser.SubqueryContext, PostgreSQLStatementParser.TableConstraintContext, PostgreSQLStatementParser.TableConstraintOptionContext, PostgreSQLStatementParser.TableConstraintUsingIndexContext, PostgreSQLStatementParser.TableExistClause_Context, PostgreSQLStatementParser.TableFactorContext, PostgreSQLStatementParser.TableNameClauseContext, PostgreSQLStatementParser.TableNameContext, PostgreSQLStatementParser.TableNamesClauseContext, PostgreSQLStatementParser.TableNamesContext, PostgreSQLStatementParser.TableNotExistClause_Context, PostgreSQLStatementParser.TableReferenceContext, PostgreSQLStatementParser.TableReferencesContext, PostgreSQLStatementParser.TimeZoneClause_Context, PostgreSQLStatementParser.TruncateTableContext, PostgreSQLStatementParser.Uescape_Context, PostgreSQLStatementParser.UnicodeEscapes_Context, PostgreSQLStatementParser.UnionClauseContext, PostgreSQLStatementParser.UnqualifiedShorthandContext, PostgreSQLStatementParser.UnreservedWordContext, PostgreSQLStatementParser.UpdateContext, PostgreSQLStatementParser.UpdateSpecification_Context, PostgreSQLStatementParser.WhereClauseContext, PostgreSQLStatementParser.WindowDefinition_Context, PostgreSQLStatementParser.WindowFunctionContext_ATN, _decisionToDFA, _serializedATN, _sharedContextCache, ACTION, ADD, ADMIN, ALL, ALTER, ALWAYS, AMPERSAND_, AND, AND_, ANY, ARRAY, AS, ASC, ASTERISK_, AT_, AVG, BACKSLASH_, BEGIN, BETWEEN, BIGINT, BIGSERIAL, BINARY, BIT, BIT_NUM_, BLOCK_COMMENT, BOOLEAN, BOX, BQ_, BY, BYTEA, CACHE, CALL, CARET_, CASCADE, CASCADED, CASE, CAST, CHAR, CHARACTER, CHARACTERISTICS, CHECK, CIDR, CIRCLE, CLOSE, CLUSTER, COLLATE, COLLATION, COLON_, COLUMN, COMMA_, COMMENTS, COMMIT, CONCURRENTLY, CONNECT, CONSTRAINT, CONSTRAINTS, COUNT, CREATE, CROSS, CURRENT, CURRENT_TIMESTAMP, CURRENT_USER, CYCLE, DATA, DATABASE, DATE, DATERANGE, DAY, DECIMAL, DEFAULT, DEFAULTS, DEFERRABLE, DEFERRED, DEFINER, DELETE, DEPENDS, DEQ_, DESC, DISABLE, DISTINCT, DO, DOMAIN, DOT_, DOT_ASTERISK_, DOUBLE, DQ_, DROP, ELSE, ENABLE, ENUM, EQ_, ESCAPE, EXCLUDE, EXCLUDING, EXECUTE, EXISTS, EXTENDED, EXTENSION, EXTERNAL, EXTRACT, FALSE, FILTER, FIRST, FLOAT, FLOAT4, FLOAT8, FOLLOWING, FOR, FOR_GENERATOR, FORCE, FOREIGN, FROM, FULL, FUNCTION, GENERATED, GLOBAL, GRANT, GROUP, GROUPS, GT_, GTE_, HAVING, HEX_DIGIT_, HOUR, IDENTIFIER_, IDENTITY, IF, IMMEDIATE, IN, INCLUDE, INCLUDING, INCREMENT, INDEX, INDEXES, INET, INHERIT, INHERITS, INITIALLY, INLINE_COMMENT, INNER, INSERT, INSTANCE, INT, INT2, INT4, INT4RANGE, INT8, INT8RANGE, INTEGER, INTERVAL, INTO, IS, ISOLATION, JOIN, JSON, KEY, LANGUAGE, LARGE, LAST, LBE_, LBT_, LEFT, LEVEL, LIKE, LIMIT, LINE, LOCAL, LOCALTIME, LOCALTIMESTAMP, LOGGED, LP_, LSEG, LT_, LTE_, MACADDR, MACADDR8, MAIN, MATCH, MAX, MAXVALUE, MICROSECOND, MIN, MINUS_, MINUTE, MINVALUE, MOD, MOD_, MONEY, MONTH, NAME, NAMES, NATURAL, NEQ_, NEXT, NO, NOT, NOT_, NOT_TILDE_TILDE_, NOTHING, NULL, NULLS, NUMBER_, NUMERIC, NUMRANGE, OBJECT, OF, OFFSET, OIDS, ON, ONLY, OPEN, OPTION, OR, OR_, ORDER, OUTER, OVER, OWNED, OWNER, PARTIAL, PARTITION, PATH, PLAIN, PLUS_, POINT, POLYGON, POSITION, POUND_, PRECEDING, PRECISION, PRESERVE, PRIMARY, PRIVILEGES, PROCEDURE, QUARTER, QUESTION_, RANGE, RBE_, RBT_, READ, REAL, RECURSIVE, REFERENCES, RENAME, REPLICA, RESET, RESTART, RESTRICT, REVOKE, RIGHT, ROLE, ROLLBACK, ROUTINE, ROW, ROWS, RP_, RULE, RULE_action, RULE_addColumnSpecification, RULE_addConstraintSpecification, RULE_aggregationFunction, RULE_aggregationFunctionName, RULE_alias, RULE_alterColumnSetOption, RULE_alterDefinitionClause, RULE_alterIndex, RULE_alterIndexDefinitionClause_, RULE_alterIndexDependsOnExtension, RULE_alterIndexSetTableSpace, RULE_alterRole, RULE_alterTable, RULE_alterTableAction, RULE_alterTableActions, RULE_alterUser, RULE_assignment, RULE_assignmentValue, RULE_assignmentValues, RULE_asteriskClause_, RULE_attributeOption, RULE_attributeOptions, RULE_beginTransaction, RULE_bitExpr, RULE_bitValueLiterals, RULE_booleanLiterals, RULE_booleanPrimary, RULE_call, RULE_caseElse_, RULE_caseExpression, RULE_caseWhen_, RULE_castFunction, RULE_characterSet_, RULE_charFunction, RULE_checkOption, RULE_collateClause_, RULE_collationName, RULE_columnConstraint, RULE_columnConstraintOption, RULE_columnDefinition, RULE_columnExistClause_, RULE_columnName, RULE_columnNames, RULE_commit, RULE_comparisonOperator, RULE_concurrentlyClause_, RULE_configurationParameterClause, RULE_constraintClause, RULE_constraintOptionalParam, RULE_createDefinition, RULE_createDefinitionClause, RULE_createIndex, RULE_createIndexSpecification_, RULE_createRole, RULE_createTable, RULE_createTableSpecification_, RULE_createUser, RULE_dataType, RULE_dataTypeLength, RULE_dataTypeName, RULE_defaultExpr, RULE_delete, RULE_deleteSpecification_, RULE_distinct, RULE_dropColumnSpecification, RULE_dropIndex, RULE_dropRole, RULE_dropTable, RULE_dropUser, RULE_duplicateSpecification, RULE_execute, RULE_expr, RULE_filterClause_, RULE_frameBetween_, RULE_frameClause_, RULE_frameEnd_, RULE_frameStart_, RULE_fromClause, RULE_functionCall, RULE_grant, RULE_groupByClause, RULE_havingClause, RULE_hexadecimalLiterals, RULE_identifier, RULE_ignoredIdentifier_, RULE_ignoredIdentifiers_, RULE_indexExistClause_, RULE_indexName, RULE_indexNames, RULE_indexNotExistClause_, RULE_indexParameters, RULE_inheritClause_, RULE_insert, RULE_insertSelectClause, RULE_insertValuesClause, RULE_joinedTable, RULE_joinSpecification, RULE_likeOption, RULE_limitClause, RULE_limitOffset, RULE_limitOffsetSyntax, RULE_limitRowCount, RULE_limitRowCountSyntax, RULE_literals, RULE_literalsType_, RULE_logicalOperator, RULE_modifyColumn, RULE_modifyColumnSpecification, RULE_multipleTableNames, RULE_multipleTablesClause, RULE_name, RULE_notOperator_, RULE_nullValueLiterals, RULE_numberLiterals, RULE_onlyClause_, RULE_onObjectClause, RULE_optionForClause_, RULE_orderByClause, RULE_orderByItem, RULE_owner, RULE_parameterMarker, RULE_pratitionClause_, RULE_predicate, RULE_primaryKey, RULE_privilegeClause, RULE_privileges_, RULE_privilegeType_, RULE_projection, RULE_projections, RULE_qualifiedShorthand, RULE_regularFunction, RULE_regularFunctionName_, RULE_renameColumnSpecification, RULE_renameConstraint, RULE_renameIndexSpecification, RULE_renameTableSpecification_, RULE_resetParameter, RULE_revoke, RULE_roleClause_, RULE_rollback, RULE_runtimeScope_, RULE_savepoint, RULE_schemaName, RULE_select, RULE_selectClause, RULE_sequenceOption, RULE_sequenceOptions, RULE_set, RULE_setAssignmentsClause, RULE_setTransaction, RULE_show, RULE_simpleExpr, RULE_singleTableClause, RULE_specialFunction, RULE_storageParameter, RULE_storageParameterWithValue, RULE_stringLiterals, RULE_subquery, RULE_tableConstraint, RULE_tableConstraintOption, RULE_tableConstraintUsingIndex, RULE_tableExistClause_, RULE_tableFactor, RULE_tableName, RULE_tableNameClause, RULE_tableNames, RULE_tableNamesClause, RULE_tableNotExistClause_, RULE_tableReference, RULE_tableReferences, RULE_timeZoneClause_, RULE_truncateTable, RULE_uescape_, RULE_unicodeEscapes_, RULE_unionClause, RULE_unqualifiedShorthand, RULE_unreservedWord, RULE_update, RULE_updateSpecification_, RULE_whereClause, RULE_windowDefinition_, RULE_windowFunction, ruleNames, SAFE_EQ_, SAVEPOINT, SCHEMA, SECOND, SECURITY, SELECT, SEMI_, SEQUENCE, SERIAL, SESSION, SESSION_USER, SET, SHOW, SIGNED_LEFT_SHIFT_, SIGNED_RIGHT_SHIFT_, SIMPLE, SLASH_, SMALLINT, SMALLSERIAL, SQ_, SQL, START, STATISTICS, STORAGE, STRING_, SUBSTRING, SUM, T__0, T__1, TABLE, TABLESPACE, TEMP, TEMPORARY, TEXT, THEN, TILDE_, TILDE_TILDE_, TIME, TIMESTAMP, TO, tokenNames, TRANSACTION, TRIGGER, TRIM, TRUE, TRUNCATE, TSQUERY, TSRANGE, TSTZRANGE, TSVECTOR, TYPE, UESCAPE, UNBOUNDED, UNION, UNIQUE, UNKNOWN, UNLOGGED, UPDATE, USAGE, USER, USING, UUID, VALID, VALIDATE, VALUES, VARBIT, VARCHAR, VERTICAL_BAR_, VIEW, VOCABULARY, WEEK, WHEN, WHERE, WITH, WITHIN, WITHOUT, WS, XML, YEAR, ZONE| 构造器和说明 |
|---|
PostgreSQLParser(org.antlr.v4.runtime.TokenStream input) |
| 限定符和类型 | 方法和说明 |
|---|---|
org.apache.shardingsphere.sql.parser.api.ASTNode |
parse() |
action, addColumnSpecification, addConstraintSpecification, aggregationFunction, aggregationFunctionName, alias, alterColumnSetOption, alterDefinitionClause, alterIndex, alterIndexDefinitionClause_, alterIndexDependsOnExtension, alterIndexSetTableSpace, alterRole, alterTable, alterTableAction, alterTableActions, alterUser, assignment, assignmentValue, assignmentValues, asteriskClause_, attributeOption, attributeOptions, beginTransaction, bitExpr, bitValueLiterals, booleanLiterals, booleanPrimary, call, caseElse_, caseExpression, caseWhen_, castFunction, characterSet_, charFunction, checkOption, collateClause_, collationName, columnConstraint, columnConstraintOption, columnDefinition, columnExistClause_, columnName, columnNames, commit, comparisonOperator, concurrentlyClause_, configurationParameterClause, constraintClause, constraintOptionalParam, createDefinition, createDefinitionClause, createIndex, createIndexSpecification_, createRole, createTable, createTableSpecification_, createUser, dataType, dataTypeLength, dataTypeName, defaultExpr, delete, deleteSpecification_, distinct, dropColumnSpecification, dropIndex, dropRole, dropTable, dropUser, duplicateSpecification, execute, expr, filterClause_, frameBetween_, frameClause_, frameEnd_, frameStart_, fromClause, functionCall, getATN, getGrammarFileName, getRuleNames, getSerializedATN, getTokenNames, getVocabulary, grant, groupByClause, havingClause, hexadecimalLiterals, identifier, ignoredIdentifier_, ignoredIdentifiers_, indexExistClause_, indexName, indexNames, indexNotExistClause_, indexParameters, inheritClause_, insert, insertSelectClause, insertValuesClause, joinedTable, joinSpecification, likeOption, limitClause, limitOffset, limitOffsetSyntax, limitRowCount, limitRowCountSyntax, literals, literalsType_, logicalOperator, modifyColumn, modifyColumnSpecification, multipleTableNames, multipleTablesClause, name, notOperator_, nullValueLiterals, numberLiterals, onlyClause_, onObjectClause, optionForClause_, orderByClause, orderByItem, owner, parameterMarker, pratitionClause_, predicate, primaryKey, privilegeClause, privileges_, privilegeType_, projection, projections, qualifiedShorthand, regularFunction, regularFunctionName_, renameColumnSpecification, renameConstraint, renameIndexSpecification, renameTableSpecification_, resetParameter, revoke, roleClause_, rollback, runtimeScope_, savepoint, schemaName, select, selectClause, sempred, sequenceOption, sequenceOptions, set, setAssignmentsClause, setTransaction, show, simpleExpr, singleTableClause, specialFunction, storageParameter, storageParameterWithValue, stringLiterals, subquery, tableConstraint, tableConstraintOption, tableConstraintUsingIndex, tableExistClause_, tableFactor, tableName, tableNameClause, tableNames, tableNamesClause, tableNotExistClause_, tableReference, tableReferences, timeZoneClause_, truncateTable, uescape_, unicodeEscapes_, unionClause, unqualifiedShorthand, unreservedWord, update, updateSpecification_, whereClause, windowDefinition_, windowFunctionaddContextToParseTree, addParseListener, compileParseTreePattern, compileParseTreePattern, consume, createErrorNode, createTerminalNode, dumpDFA, enterOuterAlt, enterRecursionRule, enterRecursionRule, enterRule, exitRule, getATNWithBypassAlts, getBuildParseTree, getContext, getCurrentToken, getDFAStrings, getErrorHandler, getExpectedTokens, getExpectedTokensWithinCurrentRule, getInputStream, getInvokingContext, getNumberOfSyntaxErrors, getParseInfo, getParseListeners, getPrecedence, getRuleContext, getRuleIndex, getRuleInvocationStack, getRuleInvocationStack, getSourceName, getTokenFactory, getTokenStream, getTrimParseTree, inContext, isExpectedToken, isMatchedEOF, isTrace, match, matchWildcard, notifyErrorListeners, notifyErrorListeners, precpred, pushNewRecursionContext, removeParseListener, removeParseListeners, reset, setBuildParseTree, setContext, setErrorHandler, setInputStream, setProfile, setTokenFactory, setTokenStream, setTrace, setTrimParseTree, triggerEnterRuleEvent, triggerExitRuleEvent, unrollRecursionContextspublic org.apache.shardingsphere.sql.parser.api.ASTNode parse()
parse 在接口中 org.apache.shardingsphere.sql.parser.api.parser.SQLParserCopyright © 2020 The Apache Software Foundation. All rights reserved.