1 /***
2 * License Agreement.
3 *
4 * JSPA (POJO-SP)
5 *
6 * Copyright (C) 2009 HRX Pty Ltd
7 *
8 * This file is part of JSPA.
9 *
10 * JSPA is free software: you can redistribute it and/or modify it under the
11 * terms of the GNU Lesser General Public License version 3 as published by the
12 * Free Software Foundation.
13 *
14 * JSPA is distributed in the hope that it will be useful, but WITHOUT ANY
15 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16 * A PARTICULAR PURPOSE. See the Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with JSPA. If not, see <http://www.gnu.org/licenses/>.
20 */
21 package com.hrx.rasp.util.dao.annotations;
22
23 import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
24 import static java.lang.annotation.ElementType.FIELD;
25
26 import java.lang.annotation.Retention;
27 import java.lang.annotation.RetentionPolicy;
28 import java.lang.annotation.Target;
29
30 import com.hrx.rasp.util.dao.DefaultResultSetProcessor;
31 import com.hrx.rasp.util.dao.operation.OperationType;
32
33 /***
34 * @author dan.stoica <dan.stoica@acslink.net.au>
35 *
36 */
37 @Target(
38 {
39 ANNOTATION_TYPE, FIELD
40 })
41 @Retention(RetentionPolicy.RUNTIME)
42 public @interface FunctionReturn
43 {
44 /***
45 * Defines the java.sql.Types of the Stored Procedures (or Functions) OUT
46 * parameters.
47 */
48 int sqlType() default 0;
49
50 String sqlArrayName() default "N/A";
51
52 Class<?> collectionType() default Class.class;
53
54 Class<?> resultSetProcessor() default DefaultResultSetProcessor.class;
55
56 OperationType[] operation() default OperationType.ALL;
57 }