1 21 package com.db4o.inside.cluster; 22 23 import com.db4o.*; 24 import com.db4o.cluster.*; 25 import com.db4o.foundation.*; 26 import com.db4o.inside.query.*; 27 import com.db4o.query.*; 28 29 32 public class ClusterQuery implements Query { 33 34 private final Cluster _cluster; 35 private final Query[] _queries; 36 37 public ClusterQuery(Cluster cluster, Query[] queries){ 38 _cluster = cluster; 39 _queries = queries; 40 } 41 42 public Constraint constrain(Object constraint) { 43 synchronized(_cluster){ 44 Constraint[] constraints = new Constraint[_queries.length]; 45 for (int i = 0; i < constraints.length; i++) { 46 constraints[i] = _queries[i].constrain(constraint); 47 } 48 return new ClusterConstraint(_cluster, constraints); 49 } 50 } 51 52 public Constraints constraints() { 53 synchronized(_cluster){ 54 Constraint[] constraints = new Constraint[_queries.length]; 55 for (int i = 0; i < constraints.length; i++) { 56 constraints[i] = _queries[i].constraints(); 57 } 58 return new ClusterConstraints(_cluster, constraints); 59 } 60 } 61 62 public Query descend(String fieldName) { 63 synchronized(_cluster){ 64 Query[] queries = new Query[_queries.length]; 65 for (int i = 0; i < queries.length; i++) { 66 queries[i] = _queries[i].descend(fieldName); 67 } 68 return new ClusterQuery(_cluster, queries); 69 } 70 } 71 72 public ObjectSet execute() { 73 synchronized(_cluster){ 74 return new ObjectSetFacade(new ClusterQueryResult(_cluster, _queries)); 75 } 76 } 77 78 public Query orderAscending() { 79 throw new NotSupportedException(); 80 } 81 82 public Query orderDescending() { 83 throw new NotSupportedException(); 84 } 85 86 public Query sortBy(QueryComparator comparator) { 87 throw new NotSupportedException(); 88 } 89 } 90 | Popular Tags |