View Javadoc

1   /*
2    * This file is part of Domingo
3    * an Open Source Java-API to Lotus Notes/Domino
4    * hosted at http://domingo.sourceforge.net
5    *
6    * Copyright (c) 2003-2007 Beck et al. projects GmbH Munich, Germany (http://www.bea.de)
7    *
8    * This library is free software; you can redistribute it and/or
9    * modify it under the terms of the GNU Lesser General Public
10   * License as published by the Free Software Foundation; either
11   * version 2.1 of the License, or (at your option) any later version.
12   *
13   * This library is distributed in the hope that it will be useful,
14   * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16   * Lesser General Public License for more details.
17   *
18   * You should have received a copy of the GNU Lesser General Public
19   * License along with this library; if not, write to the Free Software
20   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21   */
22  
23  package de.bea.domingo.map;
24  
25  /***
26   * Abstract base class for domingo mappers.
27   *
28   * @author <a href="mailto:kriede@users.sourceforge.net">Kurt Riede</a>
29   */
30  public abstract class BaseMapper extends MapperSet implements DMapper {
31  
32      /*** empty array of objects, used as empty arguments list for reflection. */
33      public static final Object[] EMPTY_ARGS = {};
34  
35      /*** empty array of classes, used as empty class list for reflection. */
36      public static final Class[] EMPTY_PARAMS = {};
37  
38      /*** Class of instances of the business objects. */
39      private Class instanceClass;
40  
41      /*** Class of instances of digests of the business objects. */
42      private Class digestClass;
43  
44      /***
45       * Constructor. The class of instances of digest of the business objects is
46       * assumed to be the same as the instance class.
47       *
48       * @param instanceClass the class of instance of the business objects
49       */
50      public BaseMapper(final Class instanceClass) {
51          this(instanceClass, instanceClass);
52      }
53  
54      /***
55       * Constructor.
56       *
57       * @param instanceClass the class of instance of the business objects
58       * @param digestClass the class of instance of digests of the business
59       *            objects
60       */
61      public BaseMapper(final Class instanceClass, final Class digestClass) {
62          super();
63          this.instanceClass = instanceClass;
64          this.digestClass = digestClass;
65      }
66  
67      /***
68       * {@inheritDoc}
69       * @see de.bea.domingo.map.DMapper#getInstanceClass()
70       */
71      public final Class getInstanceClass() {
72          return instanceClass;
73      }
74  
75      /***
76       * {@inheritDoc}
77       * @see de.bea.domingo.map.DMapper#getDigestClass()
78       */
79      public final Class getDigestClass() {
80          return digestClass;
81      }
82  }