001/* ======================================================================== 002 * JCommon : a free general purpose class library for the Java(tm) platform 003 * ======================================================================== 004 * 005 * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors. 006 * 007 * Project Info: http://www.jfree.org/jcommon/index.html 008 * 009 * This library is free software; you can redistribute it and/or modify it 010 * under the terms of the GNU Lesser General Public License as published by 011 * the Free Software Foundation; either version 2.1 of the License, or 012 * (at your option) any later version. 013 * 014 * This library is distributed in the hope that it will be useful, but 015 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 016 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 017 * License for more details. 018 * 019 * You should have received a copy of the GNU Lesser General Public 020 * License along with this library; if not, write to the Free Software 021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 022 * USA. 023 * 024 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 025 * in the United States and other countries.] 026 * 027 * ---------------------------- 028 * ManualMappingDefinition.java 029 * ---------------------------- 030 * (C)opyright 2003-2005, by Thomas Morgner and Contributors. 031 * 032 * Original Author: Thomas Morgner; 033 * Contributor(s): David Gilbert (for Object Refinery Limited); 034 * 035 * $Id: ManualMappingDefinition.java,v 1.3 2005/10/18 13:33:53 mungady Exp $ 036 * 037 * Changes 038 * ------- 039 * 22-Nov-2003 : Initial version 040 * 041 */ 042 043package org.jfree.xml.util; 044 045/** 046 * Maps a class to a read handler and a write handler. 047 */ 048public class ManualMappingDefinition { 049 050 /** The class. */ 051 private Class baseClass; 052 053 /** The read handler. */ 054 private String readHandler; 055 056 /** The write handler. */ 057 private String writeHandler; 058 059 /** 060 * Creates a mapping between the class and the read and write handlers. 061 * 062 * @param baseClass the class (<code>null</code> not permitted). 063 * @param readHandler the name of the read handler. 064 * @param writeHandler the name of the write handler. 065 */ 066 public ManualMappingDefinition(final Class baseClass, final String readHandler, final String writeHandler) { 067 if (baseClass == null) { 068 throw new NullPointerException("BaseClass must not be null"); 069 } 070 if (readHandler == null && writeHandler == null) { 071 throw new NullPointerException 072 ("At least one of readHandler or writeHandler must be defined."); 073 } 074 this.baseClass = baseClass; 075 this.readHandler = readHandler; 076 this.writeHandler = writeHandler; 077 } 078 079 /** 080 * Returns the class. 081 * 082 * @return The class. 083 */ 084 public Class getBaseClass() { 085 return this.baseClass; 086 } 087 088 /** 089 * Returns the name of the read handler. 090 * 091 * @return The name of the read handler. 092 */ 093 public String getReadHandler() { 094 return this.readHandler; 095 } 096 097 /** 098 * Returns the name of the write handler. 099 * 100 * @return The name of the write handler. 101 */ 102 public String getWriteHandler() { 103 return this.writeHandler; 104 } 105 106}