Add find- and countByTitle() methods to primer and amplification service
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / config / IdentifiableServiceConfiguratorImpl.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.cdm.api.service.config;
12
13 import java.util.List;
14
15 import org.hibernate.criterion.Criterion;
16
17 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
18 import eu.etaxonomy.cdm.persistence.query.MatchMode;
19 import eu.etaxonomy.cdm.persistence.query.OrderHint;
20
21 /**
22 * @author a.babadshanjan
23 * @author n.hoffmann
24 * @created 03.03.2009
25 * @version 1.1
26 */
27 public class IdentifiableServiceConfiguratorImpl<T extends IIdentifiableEntity> implements IIdentifiableEntityServiceConfigurator<T>{
28
29 private String titleSearchString;
30 protected MatchMode matchMode;
31 private Integer pageSize;
32 private Integer pageNumber;
33 private Class<? extends T> clazz;
34 private List<Criterion> criteria;
35 private List<String> propertyPaths;
36 private List<OrderHint> orderHints;
37
38 @Override
39 public Class<? extends T> getClazz() {
40 return clazz;
41 }
42
43 @Override
44 public void setClazz(Class<? extends T> clazz) {
45 this.clazz = clazz;
46 }
47
48 public String getTitleSearchString() {
49 return titleSearchString;
50 }
51
52 public String getTitleSearchStringSqlized(){
53 return getTitleSearchString().replace("*", "%");
54 }
55
56 public void setTitleSearchString(String titleSearchString) {
57 this.titleSearchString = titleSearchString;
58 }
59
60 /**
61 * @return the pageSize
62 */
63 public Integer getPageSize() {
64 return pageSize;
65 }
66
67 /**
68 * Sets the number of results that should be shown on current page
69 *
70 * @param pageSize the pageSize to set
71 */
72 public void setPageSize(Integer pageSize) {
73 this.pageSize = pageSize;
74 }
75
76 /**
77 * @return the pageNumber
78 */
79 public Integer getPageNumber() {
80 return pageNumber;
81 }
82
83 /**
84 * Sets the number of the page the first result should come from, starting
85 * with 0 as the first page.
86 *
87 * @param pageNumber the pageNumber to set
88 */
89 public void setPageNumber(Integer pageNumber) {
90 this.pageNumber = pageNumber;
91 }
92
93 public MatchMode getMatchMode() {
94 return matchMode;
95 }
96
97 public void setMatchMode(MatchMode matchMode) {
98 this.matchMode = matchMode;
99 }
100
101 @Override
102 public List<Criterion> getCriteria() {
103 return criteria;
104 }
105
106 @Override
107 public void setCriteria(List<Criterion> criteria) {
108 this.criteria = criteria;
109 }
110
111 @Override
112 public List<OrderHint> getOrderHints() {
113 return orderHints;
114 }
115
116 @Override
117 public void setOrderHints(List<OrderHint> orderHints) {
118 this.orderHints = orderHints;
119 }
120
121 @Override
122 public List<String> getPropertyPaths() {
123 return propertyPaths;
124 }
125
126 @Override
127 public void setPropertyPaths(List<String> propertyPaths) {
128 this.propertyPaths = propertyPaths;
129 }
130 }