1 2 /* 3 * Copyright (c) 1998 - 2005 Versant Corporation 4 * All rights reserved. This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License v1.0 6 * which accompanies this distribution, and is available at 7 * http://www.eclipse.org/legal/epl-v10.html 8 * 9 * Contributors: 10 * Versant Corporation - initial API and implementation 11 */ 12 package com.versant.core.jdbc; 13 14 import com.versant.core.jdbc.metadata.JdbcColumn; 15 16 /** 17 * This is a factory for JdbcConverters. 18 * @see JdbcConverter 19 * @keep-all 20 */ 21 public interface JdbcConverterFactory { 22 23 /** 24 * Create a javabean to hold args for a createJdbcConverter call or null 25 * if the converter does not accept any arguments. 26 */ 27 public Object createArgsBean(); 28 29 /** 30 * Create a converter for col using args as parameters. Return null if 31 * no converter is required. 32 * @param col The column the converter is for 33 * @param args The args bean or null if none 34 * @param jdbcTypeRegistry The JDBC type registry for looking up factories 35 * for JDBC types (for nested converters) 36 * @exception IllegalArgumentException if any params are invalid 37 */ 38 public JdbcConverter createJdbcConverter(JdbcColumn col, Object args, 39 JdbcTypeRegistry jdbcTypeRegistry) throws IllegalArgumentException; 40 41 } 42 43