1 19 20 21 package org.apache.cayenne.jpa.map; 22 23 import java.util.ArrayList ; 24 import java.util.Collection ; 25 26 import javax.persistence.NamedQuery; 27 28 import org.apache.cayenne.util.TreeNodeChild; 29 30 public class JpaNamedQuery { 31 32 protected String name; 33 protected String query; 34 protected Collection <JpaQueryHint> hints; 35 36 public JpaNamedQuery() { 37 38 } 39 40 public JpaNamedQuery(NamedQuery annotation) { 41 name = annotation.name(); 42 query = annotation.query(); 43 44 getHints(); 45 for (int i = 0; i < annotation.hints().length; i++) { 46 hints.add(new JpaQueryHint(annotation.hints()[i])); 47 } 48 } 49 50 public String getName() { 51 return name; 52 } 53 54 public void setName(String name) { 55 this.name = name; 56 } 57 58 public String getQuery() { 59 return query; 60 } 61 62 public void setQuery(String query) { 63 this.query = query; 64 } 65 66 @TreeNodeChild(type=JpaQueryHint.class) 67 public Collection <JpaQueryHint> getHints() { 68 if (hints == null) { 69 hints = new ArrayList <JpaQueryHint>(); 70 } 71 72 return hints; 73 } 74 75 78 public JpaQueryHint getHint(String name) { 79 if (hints == null) { 80 return null; 81 } 82 83 for (JpaQueryHint hint : hints) { 84 if (name.equals(hint.getName())) { 85 return hint; 86 } 87 } 88 return null; 89 } 90 } 91 | Popular Tags |