1 package org.apache.ojb.broker.accesslayer.conversions; 2 3 /* Copyright 2002-2005 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 import java.io.Serializable; 19 20 21 /** 22 * The class <em>FieldConversion</em> declares a protocol for type and value 23 * conversions between persistent classes attributes and counterpart objects supported by the 24 * JDBC specification, e.g. <em>String</em> is supported by JDBC, so only an <em>empty</em> field 25 * conversion is needed. But if the persistent class attribute is of type <code>int[]</code> a 26 * field conversion to a supported field type is needed - e.g. <code>int[] ---> String</code>. 27 * <p/> 28 * The default implementation {@link FieldConversionDefaultImpl} does not modify its input. 29 * OJB users can use predefined implementation and can also 30 * build their own conversions that perform arbitrary mappings. 31 * The mapping has to defined in the OJB mapping configuration file - more see documentation. 32 * 33 * @author Thomas Mahler 34 * @version $Id: FieldConversion.java,v 1.6.2.2 2005/12/21 22:23:38 tomdz Exp $ 35 */ 36 public interface FieldConversion extends Serializable 37 { 38 /** 39 * Convert an object of the persistent class to a counterpart object 40 * supported by the JDBC specification. 41 */ 42 public Object javaToSql(Object source) throws ConversionException; 43 44 /** 45 * Convert a JDBC object to a persistent class value. 46 */ 47 public Object sqlToJava(Object source) throws ConversionException; 48 49 } 50