Java tutorial
// Description: Java 7 XMsg Client DbIO implementation for SecGroup. /* * CF Asterisk 11 Configuration Model * * Copyright (c) 2013-2014 Mark Sobkow * * This program is available as free software under the GNU GPL v3, or * under a commercial license from Mark Sobkow. For commercial licensing * details, please contact msobkow@sasktel.net. * * Under the terms of the GPL: * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * This source code incorporates modified modules originally licensed * under the Apache 2.0 license by MSS Code Factory including CFSecurity * (net-sourceforge-msscodefactory-2.0-cfsecurity.xml), * CFInternet (net-sourceforge-msscodefactory-2.0-cfinternet.xml), and * CFCrm 2.0 (net-sourceforge-msscodefactory-2.0-cfcrm.xml), with all of the * required models being available as part of the MSS Code Factory 1.11 * distribution source and install zips. * * You can download installations of MSS Code Factory 1.11 from * http://msscodefactory.sourceforge.net/ * * *********************************************************************** * * Code manufactured by MSS Code Factory */ package net.sourceforge.msscodefactory.cfasterisk.v2_0.CFAstXMsgClient; import java.math.*; import java.sql.*; import java.text.*; import java.util.*; import net.sourceforge.msscodefactory.cflib.v1_11.CFLib.*; import org.apache.commons.codec.binary.Base64; import net.sourceforge.msscodefactory.cfasterisk.v2_0.CFAst.*; import net.sourceforge.msscodefactory.cfasterisk.v2_0.CFAstObj.*; import net.sourceforge.msscodefactory.cfasterisk.v2_0.CFAstXMsg.*; import net.sourceforge.msscodefactory.cfasterisk.v2_0.CFAstXMsgRspnHandler.*; /* * CFAstXMsgClientSecGroupTable XMsg Client DbIO implementation * for SecGroup. */ public class CFAstXMsgClientSecGroupTable implements ICFAstSecGroupTable { private CFAstXMsgClientSchema schema; public CFAstXMsgClientSecGroupTable(CFAstXMsgClientSchema argSchema) { schema = argSchema; } public void createSecGroup(CFAstAuthorization Authorization, CFAstSecGroupBuff Buff) { final String S_ProcName = "createSecGroup"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstCreate("\n\t\t\t", Buff) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAstSecGroupObj realized = null; if (lastObjectProcessed instanceof ICFAstSecGroupObj) { realized = (ICFAstSecGroupObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAstSecGroupObj"); } if (realized != null) { Buff.set(realized.getSecGroupBuff()); } } else { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "responseHandler.getLastObjectProcessed()"); } } public CFAstSecGroupBuff readDerived(CFAstAuthorization Authorization, CFAstSecGroupPKey PKey) { final String S_ProcName = "readDerived"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstRead("\n\t\t\t", PKey) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAstSecGroupBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAstSecGroupObj realized = null; if (lastObjectProcessed instanceof ICFAstSecGroupObj) { realized = (ICFAstSecGroupObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAstSecGroupObj"); } if (realized != null) { buff = realized.getSecGroupBuff(); } } return (buff); } public CFAstSecGroupBuff lockDerived(CFAstAuthorization Authorization, CFAstSecGroupPKey PKey) { final String S_ProcName = "lockDerived"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstLock("\n\t\t\t", PKey) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAstSecGroupBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAstSecGroupObj realized = null; if (lastObjectProcessed instanceof ICFAstSecGroupObj) { realized = (ICFAstSecGroupObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAstSecGroupObj"); } if (realized != null) { buff = realized.getSecGroupBuff(); } } return (buff); } public CFAstSecGroupBuff[] readAllDerived(CFAstAuthorization Authorization) { final String S_ProcName = "readAllDerived"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstReadAll("\n\t\t\t") + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } Object sortedMapObj = responseHandler.getSortedMapOfObjects(); if (sortedMapObj == null) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "responseHandler.getSortedMapOfObjects"); } SortedMap<CFAstSecGroupPKey, ICFAstSecGroupObj> sortedMap = (SortedMap<CFAstSecGroupPKey, ICFAstSecGroupObj>) sortedMapObj; int sz = sortedMap.size(); CFAstSecGroupBuff arr[] = new CFAstSecGroupBuff[sz]; Iterator<ICFAstSecGroupObj> iter = sortedMap.values().iterator(); ICFAstSecGroupObj cur; for (int idx = 0; idx < sz; idx++) { cur = (ICFAstSecGroupObj) iter.next(); arr[idx] = cur.getSecGroupBuff(); } return (arr); } public CFAstSecGroupBuff readDerivedByIdIdx(CFAstAuthorization Authorization, long argClusterId, int argSecGroupId) { final String S_ProcName = "readDerivedByIdIdx"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstReadByIdIdx("\n\t\t\t", argClusterId, argSecGroupId) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAstSecGroupBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAstSecGroupObj realized = null; if (lastObjectProcessed instanceof ICFAstSecGroupObj) { realized = (ICFAstSecGroupObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAstSecGroupObj"); } if (realized != null) { buff = realized.getSecGroupBuff(); } } return (buff); } public CFAstSecGroupBuff[] readDerivedByClusterIdx(CFAstAuthorization Authorization, long argClusterId) { final String S_ProcName = "readDerivedByClusterIdx"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstReadByClusterIdx("\n\t\t\t", argClusterId) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } Object sortedMapObj = responseHandler.getSortedMapOfObjects(); if (sortedMapObj == null) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "responseHandler.getSortedMapOfObjects"); } SortedMap<CFAstSecGroupPKey, ICFAstSecGroupObj> sortedMap = (SortedMap<CFAstSecGroupPKey, ICFAstSecGroupObj>) sortedMapObj; int sz = sortedMap.size(); CFAstSecGroupBuff arr[] = new CFAstSecGroupBuff[sz]; Iterator<ICFAstSecGroupObj> iter = sortedMap.values().iterator(); ICFAstSecGroupObj cur; for (int idx = 0; idx < sz; idx++) { cur = (ICFAstSecGroupObj) iter.next(); arr[idx] = cur.getSecGroupBuff(); } return (arr); } public CFAstSecGroupBuff readDerivedByUNameIdx(CFAstAuthorization Authorization, long argClusterId, String argName) { final String S_ProcName = "readDerivedByUNameIdx"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstReadByUNameIdx("\n\t\t\t", argClusterId, argName) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAstSecGroupBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAstSecGroupObj realized = null; if (lastObjectProcessed instanceof ICFAstSecGroupObj) { realized = (ICFAstSecGroupObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAstSecGroupObj"); } if (realized != null) { buff = realized.getSecGroupBuff(); } } return (buff); } public CFAstSecGroupBuff readBuff(CFAstAuthorization Authorization, CFAstSecGroupPKey PKey) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuff"); } public CFAstSecGroupBuff lockBuff(CFAstAuthorization Authorization, CFAstSecGroupPKey PKey) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "lockBuff"); } public CFAstSecGroupBuff[] readAllBuff(CFAstAuthorization Authorization) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readAllBuff"); } public CFAstSecGroupBuff readBuffByIdIdx(CFAstAuthorization Authorization, long argClusterId, int argSecGroupId) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuffByIdIdx"); } public CFAstSecGroupBuff[] readBuffByClusterIdx(CFAstAuthorization Authorization, long argClusterId) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuffByClusterIdx"); } public CFAstSecGroupBuff readBuffByUNameIdx(CFAstAuthorization Authorization, long argClusterId, String argName) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "readBuffByUNameIdx"); } public void updateSecGroup(CFAstAuthorization Authorization, CFAstSecGroupBuff Buff) { final String S_ProcName = "updateSecGroup"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstUpdate("\n\t\t\t", Buff) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } CFAstSecGroupBuff buff = null; Object lastObjectProcessed = responseHandler.getLastObjectProcessed(); if (lastObjectProcessed != null) { ICFAstSecGroupObj realized = null; if (lastObjectProcessed instanceof ICFAstSecGroupObj) { realized = (ICFAstSecGroupObj) lastObjectProcessed; } else { throw CFLib.getDefaultExceptionFactory().newUnsupportedClassException(getClass(), S_ProcName, "lastObjectProcessed", lastObjectProcessed, "ICFAstSecGroupObj"); } if (realized != null) { buff = realized.getSecGroupBuff(); } } if (buff != null) { Buff.set(buff); } } public void deleteSecGroup(CFAstAuthorization Authorization, CFAstSecGroupBuff Buff) { final String S_ProcName = "deleteSecGroup"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstDelete("\n\t\t\t", Buff) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteSecGroupByIdIdx(CFAstAuthorization Authorization, long argClusterId, int argSecGroupId) { final String S_ProcName = "deleteSecGroupByIdIdx"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstDeleteByIdIdx("\n\t\t\t", argClusterId, argSecGroupId) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteSecGroupByIdIdx(CFAstAuthorization Authorization, CFAstSecGroupPKey argKey) { deleteSecGroupByIdIdx(Authorization, argKey.getRequiredClusterId(), argKey.getRequiredSecGroupId()); } public void deleteSecGroupByClusterIdx(CFAstAuthorization Authorization, long argClusterId) { final String S_ProcName = "deleteSecGroupByClusterIdx"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstDeleteByClusterIdx("\n\t\t\t", argClusterId) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteSecGroupByClusterIdx(CFAstAuthorization Authorization, CFAstSecGroupByClusterIdxKey argKey) { deleteSecGroupByClusterIdx(Authorization, argKey.getRequiredClusterId()); } public void deleteSecGroupByUNameIdx(CFAstAuthorization Authorization, long argClusterId, String argName) { final String S_ProcName = "deleteSecGroupByUNameIdx"; String rqst = CFAstXMsgSchemaMessageFormatter.formatRqstXmlPreamble() + "\n" + "\t" + CFAstXMsgSecGroupMessageFormatter.formatSecGroupRqstDeleteByUNameIdx("\n\t\t\t", argClusterId, argName) + "\n" + CFAstXMsgSchemaMessageFormatter.formatRqstXmlPostamble(); String rspn = schema.sendReceive(Authorization, rqst); if ((rspn == null) || (rspn.length() <= 0)) { throw CFLib.getDefaultExceptionFactory().newNullArgumentException(getClass(), S_ProcName, 0, "rspn"); } CFAstXMsgRspnHandler responseHandler = schema.getResponseHandler(); responseHandler.parseStringContents(rspn); CFLibRuntimeException exceptionRaised = responseHandler.getExceptionRaised(); if (exceptionRaised != null) { throw exceptionRaised; } boolean deleted = responseHandler.getDeleted(); if (!deleted) { throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName, "Server did not respond with a Deleted message"); } } public void deleteSecGroupByUNameIdx(CFAstAuthorization Authorization, CFAstSecGroupByUNameIdxKey argKey) { deleteSecGroupByUNameIdx(Authorization, argKey.getRequiredClusterId(), argKey.getRequiredName()); } public CFAstCursor openSecGroupCursorAll(CFAstAuthorization Authorization) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "openSecGroupCursorAll"); } public CFAstCursor openSecGroupCursorByClusterIdx(CFAstAuthorization Authorization, long argClusterId) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "openSecGroupCursorByClusterIdx"); } public void closeSecGroupCursor(CFAstCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "closeSecGroupCursor"); } public CFAstSecGroupBuff nextSecGroupCursor(CFAstCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "next$Tablename$Cursor"); } public CFAstSecGroupBuff prevSecGroupCursor(CFAstCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "prevSecGroupCursor"); } public CFAstSecGroupBuff firstSecGroupCursor(CFAstCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "firstSecGroupCursor"); } public CFAstSecGroupBuff lastSecGroupCursor(CFAstCursor Cursor) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "lastSecGroupCursor"); } public CFAstSecGroupBuff nthSecGroupCursor(CFAstCursor Cursor, int Idx) { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "nthSecGroupCursor"); } /** * Release the prepared statements. * <p> * When the schema changes connections, the prepared statements * have to be released because they contain connection-specific * information for most databases. */ public void releasePreparedStatements() { throw CFLib.getDefaultExceptionFactory().newNotSupportedException(getClass(), "releasePreparedStatements"); } }