001: /**
002: * Sequoia: Database clustering technology.
003: * Copyright (C) 2005 AmicoSoft, Inc. dba Emic Networks
004: * Contact: sequoia@continuent.org
005: *
006: * Licensed under the Apache License, Version 2.0 (the "License");
007: * you may not use this file except in compliance with the License.
008: * You may obtain a copy of the License at
009: *
010: * http://www.apache.org/licenses/LICENSE-2.0
011: *
012: * Unless required by applicable law or agreed to in writing, software
013: * distributed under the License is distributed on an "AS IS" BASIS,
014: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015: * See the License for the specific language governing permissions and
016: * limitations under the License.
017: *
018: * Initial developer(s): Emmanuel Cecchet.
019: * Contributor(s): ______________________.
020: */package org.continuent.sequoia.controller.requests;
021:
022: /**
023: * This class defines a factory to create Sequoia requests based on a given SQL
024: * query.<br>
025: * It defines the regexp to use for request parsing and implements the
026: * getXXXRequest() methods that create the corresponding request with custom
027: * types
028: *
029: * @author <a href="mailto:emmanuel.cecchet@emicnetworks.com">Emmanuel Cecchet</a>
030: * @author <a href="mailto:gilles.rayrat@continuent.com">Gilles Rayrat</a>
031: * @version 2.0
032: */
033: public class SequoiaRequestFactory extends RequestFactory {
034: /**
035: * Creates a new SequoiaRequestFactory by specifying a SequoiaRequestRegExp as
036: * regular expressions to be used
037: */
038: public SequoiaRequestFactory() {
039: super (new SequoiaRequestRegExp());
040: }
041:
042: /**
043: * @see org.continuent.sequoia.controller.requests.RequestFactory#getAlterRequest(java.lang.String,
044: * boolean, int, java.lang.String)
045: */
046: public AlterRequest getAlterRequest(String sqlQuery,
047: boolean escapeProcessing, int timeout, String lineSeparator) {
048: return new AlterRequest(sqlQuery, escapeProcessing, timeout,
049: lineSeparator);
050: }
051:
052: /**
053: * @see org.continuent.sequoia.controller.requests.RequestFactory#getCreateRequest(java.lang.String,
054: * boolean, int, java.lang.String)
055: */
056: public CreateRequest getCreateRequest(String sqlQuery,
057: boolean escapeProcessing, int timeout, String lineSeparator) {
058: return new CreateRequest(sqlQuery, escapeProcessing, timeout,
059: lineSeparator);
060: }
061:
062: /**
063: * @see org.continuent.sequoia.controller.requests.RequestFactory#getDeleteRequest(java.lang.String,
064: * boolean, int, java.lang.String)
065: */
066: public DeleteRequest getDeleteRequest(String sqlQuery,
067: boolean escapeProcessing, int timeout, String lineSeparator) {
068: return new DeleteRequest(sqlQuery, escapeProcessing, timeout,
069: lineSeparator);
070: }
071:
072: /**
073: * @see org.continuent.sequoia.controller.requests.RequestFactory#getDropRequest(java.lang.String,
074: * boolean, int, java.lang.String)
075: */
076: public DropRequest getDropRequest(String sqlQuery,
077: boolean escapeProcessing, int timeout, String lineSeparator) {
078: return new DropRequest(sqlQuery, escapeProcessing, timeout,
079: lineSeparator);
080: }
081:
082: /**
083: * @see org.continuent.sequoia.controller.requests.RequestFactory#getInsertRequest(java.lang.String,
084: * boolean, int, java.lang.String)
085: */
086: public InsertRequest getInsertRequest(String sqlQuery,
087: boolean escapeProcessing, int timeout, String lineSeparator) {
088: return new InsertRequest(sqlQuery, escapeProcessing, timeout,
089: lineSeparator);
090: }
091:
092: /**
093: * @see org.continuent.sequoia.controller.requests.RequestFactory#getSelectRequest(java.lang.String,
094: * boolean, int, java.lang.String)
095: */
096: public SelectRequest getSelectRequest(String sqlQuery,
097: boolean escapeProcessing, int timeout, String lineSeparator) {
098: return new SelectRequest(sqlQuery, escapeProcessing, timeout,
099: lineSeparator);
100: }
101:
102: /**
103: * @see org.continuent.sequoia.controller.requests.RequestFactory#getStoredProcedure(java.lang.String,
104: * boolean, int, java.lang.String)
105: */
106: public StoredProcedure getStoredProcedure(String sqlQuery,
107: boolean escapeProcessing, int timeout, String lineSeparator) {
108: return new StoredProcedure(sqlQuery, escapeProcessing, timeout,
109: lineSeparator);
110: }
111:
112: /**
113: * @see org.continuent.sequoia.controller.requests.RequestFactory#getUnknownReadRequest(java.lang.String,
114: * boolean, int, java.lang.String)
115: */
116: public UnknownReadRequest getUnknownReadRequest(String sqlQuery,
117: boolean escapeProcessing, int timeout, String lineSeparator) {
118: return new UnknownReadRequest(sqlQuery, escapeProcessing,
119: timeout, lineSeparator);
120: }
121:
122: /**
123: * @see org.continuent.sequoia.controller.requests.RequestFactory#getUnknownWriteRequest(java.lang.String,
124: * boolean, int, java.lang.String)
125: */
126: public UnknownWriteRequest getUnknownWriteRequest(String sqlQuery,
127: boolean escapeProcessing, int timeout, String lineSeparator) {
128: return new UnknownWriteRequest(sqlQuery, escapeProcessing,
129: timeout, lineSeparator);
130: }
131:
132: /**
133: * @see org.continuent.sequoia.controller.requests.RequestFactory#getUpdateRequest(java.lang.String,
134: * boolean, int, java.lang.String)
135: */
136: public UpdateRequest getUpdateRequest(String sqlQuery,
137: boolean escapeProcessing, int timeout, String lineSeparator) {
138: return new UpdateRequest(sqlQuery, escapeProcessing, timeout,
139: lineSeparator);
140: }
141: }
|