KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > oracle > toplink > essentials > descriptors > ClassExtractor


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  */

21 // Copyright (c) 1998, 2005, Oracle. All rights reserved.
22
package oracle.toplink.essentials.descriptors;
23
24 import oracle.toplink.essentials.exceptions.*;
25 import oracle.toplink.essentials.sessions.*;
26 import oracle.toplink.essentials.descriptors.ClassDescriptor;
27
28 /**
29  * <p><b>Purpose</b>:
30  * Abstract class to allow complex inheritance support. Typically class indicators are used to define inheritance in the database,
31  * however in complex cases the class type may be determined through another mechanism.
32  * The class extractor must be able to determine and return the class type from the database row.
33  *
34  * @see oracle.toplink.essentials.descriptors.InheritancePolicy#setClassExtractor(ClassExtrator)
35  */

36 public abstract class ClassExtractor {
37
38     /**
39      * Extract/compute the class from the database row and return the class.
40      * Map is used as the public interface to database row, the key is the field name,
41      * the value is the database value.
42      */

43     public abstract Class JavaDoc extractClassFromRow(Record databaseRow, Session session);
44
45     /**
46      * Allow for any initialization.
47      */

48     public void initialize(ClassDescriptor descriptor, Session session) throws DescriptorException {
49         // Do nothing by default.
50
}
51 }
52
Popular Tags