All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.dbws.DBWSModel Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */

// Contributors:
//     Oracle - initial API and implementation from Oracle TopLink

package org.eclipse.persistence.dbws;

// Javase imports

// Java extension imports

// EclipseLink imports
import org.eclipse.persistence.internal.xr.XRServiceAdapter;
import org.eclipse.persistence.internal.xr.XRServiceModel;

/**
 * 

PUBLIC: model object for eclipselink-dbws.xml descriptor file. A DBWS (also known as * an {@link XRServiceAdapter}) requires the following resources: *

    *
  • metadata in the form of a descriptor file called eclipselink-dbws.xml in the * META-INF/ directory
    * (inside a .jar file, as an external 'exploded' directory on the classpath
    * or in the WEB-INF/classes/META-INF/ directory inside a .war file).
    *
  • *
  • an XML Schema Definition (.xsd) file called eclipselink-dbws-schema.xsd
    * located at the root directory of a .jar file, at the root of the first directory on the
    * classpath or in the WEB-INF/wsdl/ directory of a .war file *
  • *
  • an EclipseLink sessions.xml file called eclipselink-dbws-sessions.xml (in the * META-INF/ directory)
    *   the naming convention for the sessions.xml files can be overridden by the
    * optional <sessions-file> entry in the eclipselink-dbws.xml * descriptor file. *
  • *
  • EclipseLink metadata in the form of a EclipseLink {@link org.eclipse.persistence.sessions.Project Project} * (either deployment XML located
    * in the META-INF/ directory or Java classes on the classpath or in the
    * WEB-INF/classes directory inside a .war file).
    *  
    *

    A typical DBWS requires two projects: one to represent the O-R side, the other to * represent the O-X side.
    * The O-R and O-X Projects metadata must have:
    * i) identical case-sensitive Project names:

     * <?xml version="1.0" encoding="UTF-8"?>
     * <eclipselink:object-persistence version="Eclipse Persistence Services ..."
     *   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     *   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     *   xmlns:eclipselink="http://xmlns.oracle.com/ias/xsds/eclipselink"
     *   >
     *   <eclipselink:name>example</eclipselink:name>
     * or
     * ...
     * import org.eclipse.persistence.sessions.Project;
     * public class SomeORProject extends Project {
     *   public SomeORProject () {
     *     setName("Example");
     *     ...
     * }
     * public class SomeOXProject extends Project {
     *   public SomeOXProject () {
     *     setName("Example");
     *     ...
     * }
     * 
    * ii) identical case-sensitive aliases for {@link org.eclipse.persistence.descriptors.ClassDescriptor Descriptors} * that are common between the projects: *
     * <eclipselink:class-mapping-descriptor xsi:type="eclipselink:relational-class-mapping-descriptor">
     *   <eclipselink:class>some.package.SomeClass</eclipselink:class>
     *   <eclipselink:alias>SomeAlias</eclipselink:alias>
     * ...
     * <eclipselink:class-mapping-descriptor xsi:type="eclipselink:xml-class-mapping-descriptor">
     *   <eclipselink:class>some.package.SomeClass</eclipselink:class>
     *   <eclipselink:alias>SomeAlias</eclipselink:alias>
     * 
    *
  • *
* An example eclipselink-dbws.xml descriptor file: *
 * <?xml version="1.0" encoding="UTF-8"?>
 * <dbws
 *   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 *   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 *   >
 *   <name>example</name>
 *   <sessions-file>example-dbws-sessions.xml</sessions-file>
 *   <query>
 *     <name>countEmployees</name>
 *     <result>
 *       <type>xsd:int</type>
 *       <simple-xml-format>
 *         <simple-xml-format-tag>employee-info</simple-xml-format-tag>
 *         <simple-xml-tag>aggregate-info</simple-xml-tag>
 *       </simple-xml-format>
 *     </result>
 *     <sql><![CDATA[select count(*) from EMP]]></sql>
 *   </query>
 *   <query>
 *     <name>findAllEmployees</name>
 *     <result isCollection="true">
 *       <type>empType</type>
 *     </result>
 *     <sql><![CDATA[select * from EMP]]></sql>
 *   </query>
 * </dbws>
 * 
* * @author Mike Norman - [email protected] * @since EclipseLink 1.0 */ public class DBWSModel extends XRServiceModel { }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy