Subversion Repositories SmartDukaan

Rev

Rev 25971 | Rev 27220 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23172 ashik.ali 1
package com.spice.profitmandi.dao.repository;
2
 
3
import java.util.List;
4
import java.util.Map;
5
import java.util.Set;
23329 ashik.ali 6
 
25796 tejbeer 7
import javax.persistence.criteria.CriteriaBuilder;
8
import javax.persistence.criteria.Predicate;
9
import javax.persistence.criteria.Root;
23405 amit.gupta 10
import javax.swing.SortOrder;
11
 
23172 ashik.ali 12
import org.springframework.stereotype.Repository;
25640 tejbeer 13
import org.springframework.util.MultiValueMap;
23172 ashik.ali 14
 
15
@Repository
16
public interface GenericRepository {
25640 tejbeer 17
	public final String IS_NULL = "IS_NULL";
18
	public final String IS_NOT_NULL = "IS_NOT_NULL";
19
 
23172 ashik.ali 20
	public <T> void persist(Object object);
25640 tejbeer 21
 
24105 govind 22
	public <T> void delete(Object object);
25640 tejbeer 23
 
23339 ashik.ali 24
	public <T> List<T> selectAllOrderByDesc(Class<T> clazz, String orderByDescKey);
25640 tejbeer 25
 
23269 ashik.ali 26
	public <T> long selectCount(Class<T> clazz);
25640 tejbeer 27
 
23344 ashik.ali 28
	public <T> long selectCountByNotNull(Class<T> clazz, String notNullKey);
25640 tejbeer 29
 
23418 ashik.ali 30
	public <T> long selectCountByEqual(Class<T> clazz, String key, Object value);
25640 tejbeer 31
 
23504 ashik.ali 32
	public <T> long selectCountByEquals(Class<T> clazz, Map<String, Object> objectParams);
25640 tejbeer 33
 
23418 ashik.ali 34
	public <T> long selectCountByIn(Class<T> clazz, String key, List<?> in);
25640 tejbeer 35
 
36
	public <T> long selectCountByEqualBetween(Class<T> clazz, String key, Object value, String betweenKey,
37
			Object betweenValue1, Object betweenValue2);
38
 
39
	// public <T> List<T> selectAllPaginated(Class<T> clazz, int offset, int limit);
23269 ashik.ali 40
	public <T> List<T> selectAllOrderByDescPaginated(Class<T> clazz, String orderByDescKey, int offset, int limit);
25640 tejbeer 41
 
42
	public <T> List<T> selectAllNotNullOrderByDescPaginated(Class<T> clazz, String notNullKey, String orderByDescKey,
43
			int offset, int limit);
44
 
23781 ashik.ali 45
	public <T> List<T> selectAllNotNullOrderByDesc(Class<T> clazz, String notNullKey, String orderByDescKey);
25640 tejbeer 46
 
23172 ashik.ali 47
	public <T> T selectById(Class<T> clazz, int id);
25640 tejbeer 48
 
49
	public <U, T> List<U> selectAllDistinctOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
50
			String orderByDescKey);
51
 
52
	public <U, T> List<U> selectAllDistinctByNotInOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
53
			Map<String, List<?>> listParams, String orderByDescKey);
54
 
23339 ashik.ali 55
	public <T> List<T> selectAllByInsOrderByDesc(Class<T> clazz, Map<String, List<?>> listMap, String orderByDescKey);
25640 tejbeer 56
 
57
	public <U, T> List<U> selectAllByInsOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
58
			Map<String, List<?>> listMap, String orderByDescKey);
59
 
23339 ashik.ali 60
	public <T> List<T> selectAllByInOrderByDesc(Class<T> clazz, String key, List<?> in, String orderByDescKey);
25640 tejbeer 61
 
62
	public <T> List<T> selectAllByInOrderByDescPaginated(Class<T> clazz, String key, List<?> in, String orderByDescKey,
63
			int offset, int limit);
64
 
65
	public <U, T> List<U> selectAllByInOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey, String inKey,
66
			List<?> in, String orderByDescKey);
67
 
68
	public <T> List<T> selectAllByEqualsOrderByDesc(Class<T> clazz, Map<String, Object> objectMap,
69
			String orderByDescKey);
70
 
71
	public <U, T> List<U> selectAllByEqualsOrderBy(Class<T> clazz, Class<U> selector, String selectorKey,
72
			Map<String, Object> objectMap, String orderByKey, SortOrder sortOrder);
73
 
23339 ashik.ali 74
	public <T> List<T> selectAllByEqualOrderByDesc(Class<T> clazz, String key, Object value, String orderByDescKey);
25640 tejbeer 75
 
23418 ashik.ali 76
	public <T> List<T> selectAllByNotNull(Class<T> clazz, String notNullParams);
25640 tejbeer 77
 
23574 ashik.ali 78
	public <T> T selectByNotNull(Class<T> clazz, String notNullKey);
25640 tejbeer 79
 
23574 ashik.ali 80
	public <T> T selectByEqualNotNull(Class<T> clazz, String key, Object value, String notNullKey);
23845 ashik.ali 81
 
25640 tejbeer 82
	// public <T> List<T> selectAllByEqualGtOrderByDesc(Class<T> clazz, String key,
83
	// Object value, String gtKey, Object gtValue, String orderByDescKey);
84
 
85
	public <T> List<T> selectAllByEqualOrderByDescPaginated(Class<T> clazz, String key, Object value,
86
			String orderByDescKey, int offset, int limit);
87
 
88
	public <T, U> List<U> selectAllByEqualOrderByDescPaginated(Class<T> clazz, Class<U> selector, String selectorKey,
89
			String key, Object value, String orderByDescKey, int offset, int limit);
90
 
91
	public <U, T> List<U> selectAllByEqualOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey, String key,
92
			Object value, String orderByDescKey);
93
 
94
	public <T> List<T> selectAllByInsEqualsOrderBy(Class<T> clazz, Map<String, List<?>> listMap,
95
			Map<String, Object> objectMap, String orderByKey, SortOrder sortOrder);
96
 
97
	public <T> List<T> selectAllByInsEqualsGtOrderBy(Class<T> clazz, Map<String, List<?>> listMap,
98
			Map<String, Object> objectMap, String gtKey, Object gtValue, String orderByKey, SortOrder sortOrder);
99
 
100
	public <U, T> List<U> selectAllByInsEqualsOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
101
			Map<String, List<?>> listMap, Map<String, Object> objectMap, String orderByDescKey);
102
 
103
	public <T> List<T> selectAllByInEqualOrderByDesc(Class<T> clazz, String inKey, List<?> in, String key, Object value,
104
			String orderByDescKey);
105
 
106
	public <U, T> List<U> selectAllByInEqualOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
107
			String inKey, List<?> in, String key, Object value, String orderByDescKey);
108
 
109
	public <T> List<T> selectAllByInEqualOrderBysDesc(Class<T> clazz, String inKey, List<?> in, String key,
110
			Object value, Set<String> orderBysDesc);
111
 
112
	public <T> List<T> selectAllByEqualGtOrderByDesc(Class<T> clazz, String key, Object value, String gtKey,
113
			Object gtValue, String orderByDescKey);
114
 
115
	public <T, U> List<U> selectAllByEqualGtOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
116
			String key, Object value, String gtKey, Object gtValue, String orderByDescKey);
117
 
118
	public <T> List<T> selectAllByInsEqualsNullsOrderByDesc(Class<T> clazz, Map<String, List<?>> listMap,
119
			Map<String, Object> objectMap, Set<String> nullParams, String orderByDescKey);
120
 
121
	public <T> List<T> selectAllByEqualsNullNotNullGeLeOrderByDesc(Class<T> clazz, Map<String, Object> objectMap,
122
			Set<String> nullParams, Set<String> notNullParams, Map<String, Object> geParams,
123
			Map<String, Object> leParams, String orderByDescKey);
124
 
23431 ashik.ali 125
	public <T> T selectByNullNotNull(Class<T> clazz, String nullKey, String notNullKey);
25640 tejbeer 126
 
127
	public <T> List<T> selectAllByEqualBetweenOrderByDesc(Class<T> clazz, String key, Object value, String betweenKey,
128
			Object betweenValue1, Object betweenValue2, String orderByDescKey);
129
 
130
	public <T> long selectCountByEqualsBetween(Class<T> clazz, Map<String, Object> objectParams, String betweenKey,
131
			Object betweenValue1, Object betweenValue2);
132
 
23546 ashik.ali 133
	public <T> double selectSumByEqualBetween(Class<T> clazz, String sumKey, Map<String, Object> objectParams,
134
			String betweenKey, Object betweenValue1, Object betweenValue2);
25640 tejbeer 135
 
136
	public <T> List<T> selectAllByEqualBetweenOrderByDescPaginated(Class<T> clazz, String key, Object value,
137
			String betweenKey, Object betweenValue1, Object betweenValue2, String orderByDescKey, int offset,
138
			int limit);
139
 
140
	public <T> List<T> selectAllByInBetweenOrderByDesc(Class<T> clazz, String key, List<?> values, String betweenKey,
141
			Object betweenValue1, Object betweenValue2, String orderByDescKey);
142
 
23269 ashik.ali 143
	public <T> T selectByEquals(Class<T> clazz, Map<String, Object> objectMap);
25796 tejbeer 144
 
25640 tejbeer 145
	public <T> T selectFirstByEquals(Class<T> clazz, Map<String, Object> objectMap);
146
 
147
	public <T> List<T> selectAllByEqualsWithOrOrderByPaginated(Class<T> clazz, Map<String, Object> objectMap,
148
			String orderByDescKey, SortOrder sortOrder, int offset, int limit);
149
 
150
	public <T> List<T> selectAllByEqualsOrderByPaginated(Class<T> clazz, Map<String, Object> objectMap,
151
			String orderByDescKey, SortOrder sortOrder, int offset, int limit);
152
 
23269 ashik.ali 153
	public <T> T selectByEqual(Class<T> clazz, String key, Object value);
23884 amit.gupta 154
 
25640 tejbeer 155
	public <T> List<T> selectByInEqualNullNotNull(Class<T> clazz, String inKey, List<?> inList, String equalKey,
156
			Object equalValue, String nullKey, String notNullKey);
157
 
23269 ashik.ali 158
	public <T> T selectByBetween(Class<T> clazz, String key, Object value1, Object value2);
25640 tejbeer 159
 
160
	public <U, T> U selectByBetween(Class<T> clazz, Class<U> selector, String selectorKey, String key, Object value1,
161
			Object value2);
162
 
23269 ashik.ali 163
	public <T> T selectByGeLe(Class<T> clazz, String geKey, Object geValue, String leKey, Object leValue);
25640 tejbeer 164
 
165
	public <U, T> U selectByGeLe(Class<T> clazz, Class<U> selector, String selectorKey, String geKey, Object geValue,
166
			String leKey, Object leValue);
167
 
168
	public <T> List<T> selectAllByBetweenOrderByDesc(Class<T> clazz, String betweenKey, Object betweenValue1,
169
			Object betweenValue2, String orderByDescKey);
170
 
23172 ashik.ali 171
	public <T> boolean isExistById(Class<T> clazz, int id);
25640 tejbeer 172
 
23269 ashik.ali 173
	public <T> boolean isExistByEqual(Class<T> clazz, String key, Object value);
25640 tejbeer 174
 
23269 ashik.ali 175
	public <T> boolean isExistByEquals(Class<T> clazz, Map<String, Object> objectMap);
25640 tejbeer 176
 
177
	public <U, T> List<U> selectAllOrderByDesc(Class<T> clazz, Class<U> selector, String selectorKey,
178
			String orderByDescKey);
179
 
180
	public <U, T> List<U> selectAllOrderByDescPaginated(Class<T> clazz, Class<U> selector, String selectorKey,
181
			String orderByDescKey, int offset, int limit);
182
 
183
	public <T, V> List<T> selectAllByEqualBetweenWithJoinEqualOrderByDescPaginated(Class<T> clazz, String key,
184
			Object value, String betweenKey, Object betweenValue1, Object betweenValue2, String clazzJoinKey,
185
			String joinClazzKey, Class<V> joinClazz, String joinKey, Object joinValue, String orderByDescKey,
186
			int offset, int limit);
187
 
188
	public <T, V> V selectByEqualsWithJoinEqual(Class<T> clazz, Map<String, Object> objectParams, String clazzJoinKey,
189
			String joinClazzKey, Class<V> joinClazz, String joinKey, Object joinValue);
190
 
191
	public <T, V, X> List<T> selectAllByEqualBetweenWithJoinJoinEqualOrderByDescPaginated(Class<T> clazz,
192
			String equalKey, Object equalValue, String betweenKey, Object betweenValue1, Object betweenValue2,
193
			String clazzJoinKey, String joinClazzKey, Class<V> joinClazz1, String joinClazz1Key, String joinClazz2Key,
194
			Class<X> joinClazz2, String join2Key, Object join2Value, String orderByDescKey, int offset, int limit);
195
 
196
	public <T, V> List<T> selectAllByEqualBetweenWithJoinLikesOrderByDescPaginated(Class<T> clazz, String key,
197
			Object value, String betweenKey, Object betweenValue1, Object betweenValue2, String clazzJoinKey,
198
			String joinClazzKey, Class<V> joinClazz, Map<String, String> joinLikes, String orderByDescKey, int offset,
199
			int limit);
200
 
201
	public <T, V> List<T> selectAllByEqualWithJoinLikesOrderByDescPaginated(Class<T> clazz, String key, Object value,
202
			String clazzJoinKey, String joinClazzKey, Class<V> joinClazz, Map<String, String> joinLikes,
203
			String orderByDescKey, int offset, int limit);
204
 
205
	public <T, V> List<T> selectAllByEqualGtWithJoinLikesOrderByDescPaginated(Class<T> clazz, String key, Object value,
206
			String gtKey, Object gtValue, String clazzJoinKey, String joinClazzKey, Class<V> joinClazz,
207
			Map<String, String> joinLikes, String orderByDescKey, int offset, int limit);
208
 
209
	public <T, V> long selectCountByEqualBetweenWithJoinEqual(Class<T> clazz, String key, Object value,
210
			String betweenKey, Object betweenValue1, Object betweenValue2, String clazzJoinKey, String joinClazzKey,
211
			Class<V> joinClazz, String joinKey, Object joinValue);
212
 
213
	public <T, V, X> long selectCountByEqualBetweenWithJoinJoinEqual(Class<T> clazz, String equalKey, Object equalValue,
214
			String betweenKey, Object betweenValue1, Object betweenValue2, String clazzJoinKey, String joinClazzKey,
215
			Class<V> joinClazz1, String joinClazz1Key, String joinClazz2Key, Class<X> joinClazz2, String join2Key,
216
			Object join2Value);
217
 
23297 ashik.ali 218
	public <T, V> long selectCountByEqualBetweenWithJoinLikes(Class<T> clazz, String key, Object value,
219
			String betweenKey, Object betweenValue1, Object betweenValue2, String clazzJoinKey, String joinClazzKey,
220
			Class<V> joinClazz, Map<String, String> joinLikes);
25640 tejbeer 221
 
222
	public <T, V> long selectCountByEqualWithJoinLikes(Class<T> clazz, String key, Object value, String clazzJoinKey,
223
			String joinClazzKey, Class<V> joinClazz, Map<String, String> joinLikes);
224
 
225
	public <T, V> long selectCountByEqualGtWithJoinLikes(Class<T> clazz, String key, Object value, String gtKey,
226
			Object gtValue, String clazzJoinKey, String joinClazzKey, Class<V> joinClazz,
227
			Map<String, String> joinLikes);
228
 
229
	public <T, V> V selectByEqualWithJoin(Class<T> clazz, String key, Object value, String clazzJoinKey,
230
			String joinClazzKey, Class<V> joinClazz);
231
 
232
	public <T, U, V> List<U> selectAllByEqualWithJoinOrderByDesc(Class<T> clazz, String key, Object value,
233
			String clazzJoinKey, String joinClazzKey, Class<V> joinClazz, Class<U> selector, String selectorKey,
234
			String orderByDescKey);
235
	// public <T, V> List<T> selectAllByEqualsWithJoin(Class<T> clazz, Map<String,
236
	// Object> clazzObjectParams, String clazzJoinKey, String joinClazzKey, Class<V>
237
	// joinClazz, Map<String, Object> joinClazzObjectParams);
238
 
23226 ashik.ali 239
	public <T> int deleteById(Class<T> clazz, int id);
25640 tejbeer 240
 
23269 ashik.ali 241
	public <T> int deleteByEquals(Class<T> clazz, Map<String, Object> objectMap);
25640 tejbeer 242
 
23269 ashik.ali 243
	public <T> int deleteByEqual(Class<T> clazz, String key, Object value);
25640 tejbeer 244
 
23269 ashik.ali 245
	public <T> int updateById(Class<T> clazz, String key, Object value, int id);
25640 tejbeer 246
 
23269 ashik.ali 247
	public <T> int updateByEquals(Class<T> clazz, String key, Object value, Map<String, Object> objectParams);
23569 govind 248
 
25640 tejbeer 249
	public <U, T> List<U> selectAllDistinctByEqualsIns(Class<T> clazz, Class<U> selector, String selectorKey,
250
			Map<String, Object> eqParams, Map<String, List<?>> inParams, String orderByKey, SortOrder sortOrder);
251
 
23569 govind 252
	public <T> List<T> selectAllByFoFoId(Class<T> clazz, String key, Object value, String orderByDescKey);
253
 
25640 tejbeer 254
	public <T> List<T> selectAllByEqualGtOrderByAsc(Class<T> clazz, String key, Object value, String gtKey,
255
			Object gtValue, String orderByDescKey);
256
 
23580 govind 257
	public <T> List<T> selectAllByNullAndNotNull(Class<T> clazz, String nullKey, String notNullKey);
258
 
25640 tejbeer 259
	public <T> List<T> selectAllByEqualsOrderByAsc(Class<T> clazz, Map<String, Object> objectMap,
260
			String orderByDescKey);
23767 amit.gupta 261
 
23851 ashik.ali 262
	public <X extends Comparable<? super X>, T> X selectMaxFieldValue(Class<T> class1, Class<X> class2, String field);
25640 tejbeer 263
 
264
	public <T, V> List<V> selectGroupBySum(Class<T> class1, Class<V> class2, Map<String, Object> equalsParam,
265
			String groupByField, String aggregateField);
266
 
267
	public <T> List<T> selectAllByLikesOrderBy(Class<T> class1, int count, String sortKey, SortOrder sortOrder,
268
			Map<String, String>... andLikesMap);
269
 
270
	<T> List<T> selectAllByInEqualOrderByDescForUpdate(Class<T> clazz, String inKey, List<?> in, String key,
271
			Object value, String orderByDescKey);
272
 
25026 amit.gupta 273
	<T> List<T> selectAllByInsEqualsOrderByForUpdate(Class<T> clazz, Map<String, List<?>> listMap,
274
			Map<String, Object> objectMap, String orderByDescKey, SortOrder sortOrder);
25640 tejbeer 275
 
25069 amit.gupta 276
	public <T> T selectByIdForUpdate(Class<T> class1, int id);
25640 tejbeer 277
 
25300 tejbeer 278
	<T> List<T> selectAllByEqualsForUpdate(Class<T> clazz, Map<String, Object> objectMap);
25640 tejbeer 279
 
25796 tejbeer 280
	public <T> List<T> selectAllByEqualsOrOrderBy(Class<T> clazz, MultiValueMap<String, Object> equalMap,
281
			String orderByDescKey, SortOrder sortOrder);
25652 amit.gupta 282
 
25796 tejbeer 283
	<T> double selectAvgByEqualBetween(Class<T> clazz, String avgKey, Map<String, Object> objectParams,
284
			String betweenKey, Object betweenValue1, Object betweenValue2);
285
 
286
	public <T> Predicate prepareEqualPredicate(CriteriaBuilder builder, Root<T> root, Map<String, Object> objectParams);
287
 
288
	public <T> Predicate prepareNotInPredicate(CriteriaBuilder builder, Root<T> root, Map<String, List<?>> listParams);
289
 
25854 amit.gupta 290
	<T> Map<Object, Long> selectGroupByCount(Class<T> class1, Map<String, Object> equalsParams, String aggregateKey);
25918 amit.gupta 291
 
25971 amit.gupta 292
	<T> List<T> selectLatestGroupBy(Class<T> class1, String idColumn, String compareColumn,
25939 amit.gupta 293
			Map<String, Object> equalsMap);
26014 amit.gupta 294
 
295
	<T> List<T> selectAllByOr(Class<T> class1, List<Map<String, Object>> equalsMapList);
23172 ashik.ali 296
}