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.metadata;
22
23 import java.util.Set;
24
25 import com.hrx.rasp.util.dao.ResultSetProcessor;
26 import com.hrx.rasp.util.dao.annotations.IN;
27 import com.hrx.rasp.util.dao.annotations.INOUT;
28 import com.hrx.rasp.util.dao.annotations.OUT;
29 import com.hrx.rasp.util.dao.operation.OperationType;
30
31 /***
32 * @author dan.stoica <dan.stoica@acslink.net.au>
33 *
34 */
35 public interface StoredProcMetaData
36 {
37 public abstract void clear();
38
39 public abstract void putInParameter(StoredProcField<IN> spField);
40
41 public abstract void putOutParameter(StoredProcField<OUT> spField);
42
43 public abstract void putInOutParameter(StoredProcField<INOUT> spField);
44
45 public abstract void putPkParameter(StoredProcField<?> spField);
46
47 public Set<StoredProcField<IN>> getInParameters();
48
49 public Set<StoredProcField<OUT>> getOutParameters();
50
51 public Set<StoredProcField<INOUT>> getInOutParameters();
52
53 public abstract Set<StoredProcField<?>> getPrimaryKeyParameters();
54
55 public abstract int getArgCount();
56
57 public abstract OperationType getOperationType( );
58
59 public abstract void setOperationType(OperationType operation);
60
61 public Class<ResultSetProcessor<Object>> getResultSetProcessorClass();
62
63 public void setResultSetProcessorClass(Class<ResultSetProcessor<Object>> resultSetProcessorClass);
64
65 }