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