예제 #1
0
파일: Docs.java 프로젝트: phspaelti/basex
 @Override
 public final boolean accept(final ASTVisitor visitor) {
   if (exprs.length == 0) {
     if (oneOf(func, COLLECTION, URI_COLLECTION) && !visitor.lock(DBLocking.COLL)) return false;
   } else if (!(exprs[0] instanceof Str)) {
     if (!visitor.lock(null)) return false;
   } else {
     final QueryInput qi = new QueryInput(string(((Str) exprs[0]).string()));
     if (qi.db == null && !visitor.lock(null)) return false;
     if (!visitor.lock(qi.db)) return false;
   }
   return super.accept(visitor);
 }
예제 #2
0
파일: DbList.java 프로젝트: phspaelti/basex
 @Override
 public final boolean accept(final ASTVisitor visitor) {
   if (exprs.length == 0) {
     if (!visitor.lock(null)) return false;
   } else {
     if (!dataLock(visitor, 0)) return false;
   }
   return super.accept(visitor);
 }
예제 #3
0
파일: Path.java 프로젝트: runeengh/basex
 @Override
 public boolean accept(final ASTVisitor visitor) {
   if (root == null) {
     if (!visitor.lock(DBLocking.CTX)) return false;
   } else if (!root.accept(visitor)) {
     return false;
   }
   visitor.enterFocus();
   if (!visitAll(visitor, steps)) return false;
   visitor.exitFocus();
   return true;
 }
예제 #4
0
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return (exprs.length != 0 || visitor.lock(DBLocking.CTX)) && super.accept(visitor);
 }
예제 #5
0
 @Override
 public boolean accept(final ASTVisitor visitor) {
   return visitor.lock(DBLocking.CONTEXT) && super.accept(visitor);
 }