Subversion Repositories SmartDukaan

Rev

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