Subversion Repositories SmartDukaan

Rev

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