View Javadoc
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  }