h2-1.4.197.jar
登录
|
com.h2database:h2:1.4.197
META-INF
org
h2
jdbc
message
expression
engine
upgrade
Driver.java
security
fulltext
api
compress
index
table
constraint
store
util
bnf
RuleRepeat.java
RuleList.java
Rule.java
RuleHead.java
RuleFixed.java
RuleElement.java
context
BnfVisitor.java
RuleOptional.java
Sentence.java
Bnf.java
command
tools
server
mode
jdbcx
result
JdbcDriverBackwardsCompat.java
jmx
value
schema
mvstore
RuleList.java
清空
类结构
/* * Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, * and the EPL 1.0 (http://h2database.com/html/license.html). * Initial Developer: H2 Group */ package org.h2.bnf; import java.util.
ArrayList
; import java.util.
HashMap
; import org.h2.util.
New
; /** * Represents a sequence of BNF rules, or a list of alternative rules. */ public class
RuleList
implements
Rule
{ private final boolean
or
; private final
ArrayList
<
Rule
>
list
; private boolean
mapSet
; public
RuleList
(
Rule
first
,
Rule
next
, boolean
or
) {
list
=
New
.
arrayList
(); if (
first
instanceof
RuleList
&& ((
RuleList
)
first
).
or
==
or
) {
list
.
addAll
(((
RuleList
)
first
).
list
); } else {
list
.
add
(
first
); } if (
next
instanceof
RuleList
&& ((
RuleList
)
next
).
or
==
or
) {
list
.
addAll
(((
RuleList
)
next
).
list
); } else {
list
.
add
(
next
); } this.
or
=
or
; } @
Override
public void
accept
(
BnfVisitor
visitor
) {
visitor
.
visitRuleList
(
or
,
list
); } @
Override
public void
setLinks
(
HashMap
<
String
,
RuleHead
>
ruleMap
) { if (!
mapSet
) { for (
Rule
r
:
list
) {
r
.
setLinks
(
ruleMap
); }
mapSet
= true; } } @
Override
public boolean
autoComplete
(
Sentence
sentence
) {
sentence
.
stopIfRequired
();
String
old
=
sentence
.
getQuery
(); if (
or
) { for (
Rule
r
:
list
) {
sentence
.
setQuery
(
old
); if (
r
.
autoComplete
(
sentence
)) { return true; } } return false; } for (
Rule
r
:
list
) { if (!
r
.
autoComplete
(
sentence
)) {
sentence
.
setQuery
(
old
); return false; } } return true; } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口