1 23 24 package org.objectweb.medor.query.lib; 25 26 import org.objectweb.medor.api.MedorException; 27 import org.objectweb.medor.api.TupleStructure; 28 import org.objectweb.medor.lib.BasicTupleStructure; 29 import org.objectweb.medor.query.api.OrderField; 30 import org.objectweb.medor.query.api.QueryTree; 31 32 import java.util.Map ; 33 34 40 public abstract class BasicQueryTree extends BasicTupleStructure 41 implements QueryTree { 42 43 protected String name = null; 44 48 protected int[] indexes; 49 50 protected boolean distinct = false; 51 52 protected OrderField[] orderfields = null; 53 54 public BasicQueryTree() { 55 } 56 57 public BasicQueryTree(String _name) { 58 super(); 59 this.name = _name; 60 } 61 62 public Object clone(Object clone, 63 Map obj2clone) throws CloneNotSupportedException { 64 clone = super.clone(clone, obj2clone); 65 BasicQueryTree bqt = (BasicQueryTree) clone; 66 bqt.name = name; 67 bqt.distinct = distinct; 68 if (indexes != null) { 69 bqt.indexes = new int[indexes.length]; 70 System.arraycopy(indexes, 0, bqt.indexes, 0, indexes.length); 71 } 72 if (orderfields != null) { 73 bqt.orderfields = new OrderField[orderfields.length]; 74 for(int i=0; i<orderfields.length; i++) { 75 bqt.orderfields[i] = (OrderField) getClone(orderfields[i],obj2clone); 76 } 77 } 78 return clone; 79 } 80 81 public String getName() { 82 return name; 83 } 84 85 public TupleStructure getTupleStructure() { 86 return this; 87 } 88 89 public void setDistinct(boolean distinct) throws MedorException { 90 this.distinct = distinct; 91 } 92 93 public boolean getDistinct() { 94 return distinct; 95 } 96 97 public void setOrderBy(OrderField[] orderfields) { 98 this.orderfields = orderfields; 99 } 100 101 public OrderField[] getOrderBy() { 102 return orderfields; 103 } 104 } 105 | Popular Tags |