1 21 package oracle.toplink.essentials.queryframework; 23 24 import java.util.*; 25 import oracle.toplink.essentials.expressions.Expression; 26 27 54 public class FetchGroup implements java.io.Serializable { 55 private String name = ""; 57 58 private Set attributes = new TreeSet(); 60 61 private List fetchGroupAttributeExpressions; 63 64 67 public FetchGroup() { 68 this(""); 69 } 70 71 74 public FetchGroup(String name) { 75 this.name = name; 76 this.fetchGroupAttributeExpressions = new ArrayList(); 77 } 78 79 82 public Set getAttributes() { 83 return attributes; 84 } 85 86 89 public void addAttribute(String attrName) { 90 attributes.add(attrName); 91 } 92 93 96 public void addAttributes(Set newAttributes) { 97 attributes.addAll(newAttributes); 98 } 99 100 103 public void removeAttribute(String attrName) { 104 attributes.remove(attrName); 105 } 106 107 110 public String getName() { 111 return name; 112 } 113 114 117 public void setName(String name) { 118 this.name = name; 119 } 120 121 125 public boolean isSupersetOf(FetchGroup anotherGroup) { 126 return (anotherGroup != null) && getAttributes().containsAll(anotherGroup.getAttributes()); 127 } 128 129 133 public List getFetchGroupAttributeExpressions() { 134 return fetchGroupAttributeExpressions; 135 } 136 137 141 public void setFetchGroupAttributeExpressions(List fetchGroupAttributeExpressions) { 142 this.fetchGroupAttributeExpressions = fetchGroupAttributeExpressions; 143 } 144 145 149 public boolean hasFetchGroupAttributeExpressions() { 150 return !fetchGroupAttributeExpressions.isEmpty(); 151 } 152 153 163 public void addFetchGroupAttribute(Expression attributeExpression) { 164 getFetchGroupAttributeExpressions().add(attributeExpression); 165 } 166 } 167 | Popular Tags |