001: /*
002: * The contents of this file are subject to the Sapient Public License
003: * Version 1.0 (the "License"); you may not use this file except in compliance
004: * with the License. You may obtain a copy of the License at
005: * http://carbon.sf.net/License.html.
006: *
007: * Software distributed under the License is distributed on an "AS IS" basis,
008: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
009: * the specific language governing rights and limitations under the License.
010: *
011: * The Original Code is The Carbon Component Framework.
012: *
013: * The Initial Developer of the Original Code is Sapient Corporation
014: *
015: * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
016: */
017:
018: package org.sape.carbon.services.sql;
019:
020: import org.sape.carbon.core.component.ComponentConfiguration;
021: import org.sape.carbon.services.sql.connection.ConnectionFactory;
022:
023: /**
024: * <p>This configuration maintains the setup of a
025: * @link{org.sape.carbon.services.sql.StatementFactory} service. It maintains an
026: * array of configured statements that can be generated from the factory as
027: * well as default configurations of many of the statement settings. Each of
028: * these settings are optional and can be overridden in the individual
029: * statement configuration.
030: *
031: * Copyright 2002 Sapient
032: * @since carbon 1.0
033: * @author Vivekanand Kirubanandan, June 2002
034: * @author Greg Hinkle, December 2002
035: * @version $Revision: 1.7 $($Author: dvoet $ / $Date: 2003/05/05 21:21:36 $)
036: */
037: public interface StatementFactoryConfiguration extends
038: ComponentConfiguration {
039:
040: /**
041: * Retrieves an array of all the sql query configurations.
042: *
043: * @return array of all sql query configurations
044: */
045: StatementConfiguration[] getStatement();
046:
047: /**
048: * Sets an array of all the sql query configurations.
049: *
050: * @param statement array of all sql query configurations
051: */
052: void setStatement(StatementConfiguration[] statement);
053:
054: /**
055: * Getter for the connection factory to be used when creating
056: * queries.
057: * @return the default connection factory for this component
058: */
059: ConnectionFactory getConnectionFactory();
060:
061: /**
062: * Setter for the connection factory
063: * @param connectionFactory the default connection factory for
064: * this component
065: */
066: void setConnectionFactory(ConnectionFactory connectionFactory);
067:
068: /**
069: * Getter for the result set type. As of version 4.2, the now returns
070: * an ResutlSetTypeEnum enumeration.
071: *
072: * @return the default type of result set
073: * @since carbon 1.2
074: */
075: ResultSetTypeEnum getResultSetType();
076:
077: /**
078: * Setter for the default type of result set. As of 4.2, the now takes an
079: * ResutlSetTypeEnum enumeration.
080: *
081: * @param resultSetType the type of result set created by default
082: * @see java.sql.ResultSet#TYPE_FORWARD_ONLY
083: * @see java.sql.ResultSet#TYPE_SCROLL_INSENSITIVE
084: * @see java.sql.ResultSet#TYPE_SCROLL_SENSITIVE
085: * @since carbon 1.2
086: */
087: void setResultSetType(ResultSetTypeEnum resultSetType);
088:
089: /**
090: * Getter for the configured default result set concurrency. As of version
091: * 4.2, this now returns a ResultSetConcurrencyEnum instead of a String.
092: *
093: * @return the default concurrency for this component
094: * @since carbon 1.2
095: */
096: ResultSetConcurrencyEnum getResultSetConcurrency();
097:
098: /**
099: * Setter for the concurrency of the result set. As of version 4.2, this
100: * now takes a ResultSetConcurrencyEnum enumeration.
101: *
102: * @param resultSetConcurrency the concurrency type of the result set
103: * @see java.sql.ResultSet#CONCUR_READ_ONLY
104: * @see java.sql.ResultSet#CONCUR_UPDATABLE
105: * @since carbon 1.2
106: */
107: void setResultSetConcurrency(
108: ResultSetConcurrencyEnum resultSetConcurrency);
109:
110: /**
111: * Getter for the configured maximum number of rows to return.
112: * @return the maximum number of rows to return.
113: */
114: Integer getMaxRows();
115:
116: /**
117: * Setter for the max rows to return.
118: * @param maxRows The maximum number of rows to return from a query.
119: */
120: void setMaxRows(Integer maxRows);
121:
122: /**
123: * Getter for the configured fetch size.
124: * @return Gets the configured driver hint for rows to return
125: * at a time.
126: */
127: Integer getFetchSize();
128:
129: /**
130: * Setter for the fetch size on results sets.
131: * @param fetchSize A driver hint for the count of records to be returned
132: * on each database message.
133: */
134: void setFetchSize(Integer fetchSize);
135:
136: /**
137: * Getter for the maximum field size.
138: * @return the maximum field size in bytes
139: */
140: Integer getMaxFieldSize();
141:
142: /**
143: * Setter for the size of fields to be returned.
144: * @param maxFieldSize The max size, in bytes, that the driver should return
145: * for a column.
146: */
147: void setMaxFieldSize(Integer maxFieldSize);
148:
149: /**
150: * Getter for the configured query timeout.
151: * @return the configured query timeout in milleseconds
152: */
153: Integer getQueryTimeOut();
154:
155: /**
156: * Setter for the timeout in milleseconds of this query
157: * @param queryTimeOut the number of milleseconds before the driver should
158: * timeout a database query. (Drivers have defaults)
159: */
160: void setQueryTimeOut(Integer queryTimeOut);
161: }
|