<?xml version="1.0" encoding="UTF-8"?>
<!--

  Copyright (c) 2009 The JOMC Project
  Copyright (c) 2005 Christian Schulte <schulte2005@users.sourceforge.net>
  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in
      the documentation and/or other materials provided with the
      distribution.

  THIS SOFTWARE IS PROVIDED BY THE JOMC PROJECT AND CONTRIBUTORS "AS IS"
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JOMC PROJECT OR
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  $Id: jomc.xml 1547 2010-03-03 22:58:15Z schulte2005 $

-->
<module xmlns="http://jomc.org/model"
        xmlns:standalone="http://jomc.org/standalone/model"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://jomc.org/model http://jomc.sourceforge.net/model/jomc-1.0.xsd
                            http://jomc.org/standalone/model http://jomc.sourceforge.net/standalone/model/jomc-standalone-1.0.xsd"
        name="JOMC Sequences RI" version="1.0-alpha-4" vendor="The JOMC Project" modelVersion="1.0">

  <documentation defaultLanguage="en">
    <text language="en">This artifact provides the 'JOMC Sequences' reference implementation. It is implemented using JPA 1.0 interfaces.
  As such, this artifact may be used in any environment providing JPA 1.0 compatible entity management. See the
  'JOMC Sequences EAR' artifact containing this implementation prepared for use in an EJB 3 compatible container.
  The 'JOMC Sequences Test Suite' artifact provides a command line test client for testing from outside the container.</text>
  </documentation>

  <specifications>
    <!-- *********************************************************************************************************** -->
    <specification identifier="org.jomc.sequences.ri.SequenceMapper" class="org.jomc.sequences.ri.SequenceMapper"
                   classDeclaration="true" version="1.0" vendor="The JOMC Project">

      <documentation defaultLanguage="en">
        <text language="en">Maps model classes.</text>
      </documentation>
      <authors>
        <author name="Christian Schulte" version="1.0" mail="schulte2005@users.sourceforge.net"
                createDate="2005-07-25T19:56:45Z"/>

      </authors>
    </specification>
  </specifications>
  <implementations>
    <!-- *********************************************************************************************************** -->
    <implementation identifier="org.jomc.sequences.ri.DefaultSequenceDirectory"
                    class="org.jomc.sequences.ri.DefaultSequenceDirectory"
                    classDeclaration="true" name="JOMC Sequences RI" vendor="The JOMC Project"
                    version="1.0-alpha-4" stateless="true">

      <documentation defaultLanguage="en">
        <text language="en">SequenceDirectory reference implementation.</text>
      </documentation>
      <authors>
        <author name="Christian Schulte" version="1.0" mail="schulte2005@users.sourceforge.net"
                createDate="2005-07-25T19:56:45Z"/>

      </authors>
      <specifications>
        <reference identifier="org.jomc.sequences.SequenceOperations" version="1.0"/>
        <reference identifier="org.jomc.sequences.SequenceDirectory" version="1.0"/>
      </specifications>
      <dependencies>
        <dependency name="Logger" identifier="org.jomc.logging.Logger" version="1.0">
          <properties>
            <property name="name" type="java.lang.String" value="org.jomc.sequences.ri.DefaultSequenceDirectory"
                      override="true"/>

          </properties>
        </dependency>
        <dependency name="SequenceChangeListener" identifier="org.jomc.sequences.SequenceChangeListener" version="1.0"/>
        <dependency name="VetoableSequenceChangeListener" identifier="org.jomc.sequences.VetoableSequenceChangeListener"
                    version="1.0"/>
        <dependency name="SequenceMapper" identifier="org.jomc.sequences.ri.SequenceMapper" version="1.0"
                    implementationName="JOMC Sequences RI"/>
        <dependency name="EntityManager" identifier="javax.persistence.EntityManager" implementationName="JOMC SDK JPA"
                    bound="false"/>
        <dependency name="Locale" identifier="java.util.Locale" version="1.1" implementationName="default"/>
        <dependency name="SelectSequenceDirectoryQuery" identifier="javax.persistence.Query"
                    implementationName="JOMC Sequences Model - Select Sequence Directory Query" bound="false"/>
        <dependency name="SelectSequenceQuery" identifier="javax.persistence.Query"
                    implementationName="JOMC Sequences Model - Select Sequence Query" bound="false"/>
        <dependency name="SelectAllSequencesQuery" identifier="javax.persistence.Query"
                    implementationName="JOMC Sequences Model - Select All Sequences Query" bound="false"/>
        <dependency name="SelectSequencesQuery" identifier="javax.persistence.Query"
                    implementationName="JOMC Sequences Model - Select Sequences Query" bound="false"/>
        <dependency name="SelectSequenceCountQuery" identifier="javax.persistence.Query"
                    implementationName="JOMC Sequences Model - Select Sequence Count Query" bound="false"/>
      </dependencies>
      <properties>
        <property name="sequenceDirectoryName" value="JOMC Sequences RI">
          <documentation defaultLanguage="en">
            <text language="en">Name uniquely identifying the directory in a set of directories.</text>
          </documentation>
        </property>
        <property name="defaultSequenceDirectoryCapacityLimit" type="java.math.BigInteger" value="2147483647">
          <documentation defaultLanguage="en">
            <text language="en">Default capacity limit when creating new sequence directory entities and no default value is provided otherwise.</text>
          </documentation>
        </property>
        <property name="sequenceDirectoryNameQueryParameterName" value="sequenceDirectoryName">
          <documentation defaultLanguage="en">
            <text language="en">Name of a JPA query parameter denoting the name of a sequence directory entity.</text>
          </documentation>
        </property>
        <property name="sequenceNameQueryParameterName" value="sequenceName">
          <documentation defaultLanguage="en">
            <text language="en">Name of a JPA query parameter denoting the name of a sequence entity.</text>
          </documentation>
        </property>
      </properties>
      <messages>
        <reference name="illegalArgument"/>
        <reference name="successfullyCreatedSequenceDirectory"/>
      </messages>
      <methods xmlns="http://jomc.org/standalone/model">
        <exceptions>
          <exception class="org.jomc.sequences.SequencesException" rollback="true"/>
          <exception class="org.jomc.sequences.SequencesSystemException" rollback="true"/>
          <default-exception class="org.jomc.sequences.SequencesSystemException" rollback="true"/>
        </exceptions>
        <transaction type="Required"/>
      </methods>
    </implementation>
    <!-- *********************************************************************************************************** -->
    <implementation identifier="org.jomc.sequences.ri.DefaultSequenceMapper"
                    class="org.jomc.sequences.ri.DefaultSequenceMapper"
                    classDeclaration="true" name="JOMC Sequences RI" version="1.0-alpha-4"
                    vendor="The JOMC Project" stateless="true">

      <documentation defaultLanguage="en">
        <text language="en">SequenceMapper reference implementation.</text>
      </documentation>
      <authors>
        <author name="Christian Schulte" version="1.0" mail="schulte2005@users.sourceforge.net"
                createDate="2005-07-25T19:56:45Z"/>

      </authors>
      <specifications>
        <reference identifier="org.jomc.sequences.ri.SequenceMapper" version="1.0"/>
      </specifications>
      <dependencies>
        <dependency name="Locale" identifier="java.util.Locale" version="1.1" implementationName="default"/>
      </dependencies>
      <messages>
        <reference name="unhandledException"/>
        <reference name="illegalArgument"/>
      </messages>
    </implementation>
    <!-- *********************************************************************************************************** -->
    <implementation identifier="org.jomc.sequences.ri.DefaultSequenceChangeListener"
                    class="org.jomc.sequences.ri.DefaultSequenceChangeListener"
                    classDeclaration="true" name="JOMC Sequences RI" version="1.0-alpha-4"
                    vendor="The JOMC Project" stateless="true">

      <documentation defaultLanguage="en">
        <text language="en">SequenceChangeListener reference implementation.</text>
      </documentation>
      <authors>
        <author name="Christian Schulte" version="1.0" mail="schulte2005@users.sourceforge.net"
                createDate="2005-07-25T19:56:45Z"/>

      </authors>
      <specifications>
        <reference identifier="org.jomc.sequences.SequenceChangeListener" version="1.0"/>
      </specifications>
      <dependencies>
        <dependency name="Logger" identifier="org.jomc.logging.Logger" version="1.0">
          <properties>
            <property name="name" type="java.lang.String" value="org.jomc.sequences.ri.DefaultSequenceChangeListener"
                      override="true"/>

          </properties>
        </dependency>
        <dependency name="Locale" identifier="java.util.Locale" version="1.1" implementationName="default"/>
      </dependencies>
      <messages>
        <message name="operationInfo">
          <template defaultLanguage="en">
            <text language="en">--''{0}''
++''{1}''
            </text>
            <text language="de">--''{0}''
++''{1}''
            </text>
          </template>
          <arguments>
            <argument index="0" name="oldSequenceInfo"/>
            <argument index="1" name="newSequenceInfo"/>
          </arguments>
        </message>
      </messages>
    </implementation>
    <!-- *********************************************************************************************************** -->
    <implementation identifier="org.jomc.sequences.ri.DefaultVetoableSequenceChangeListener"
                    class="org.jomc.sequences.ri.DefaultVetoableSequenceChangeListener" classDeclaration="true"
                    name="JOMC Sequences RI" version="1.0-alpha-4" vendor="The JOMC Project"
                    stateless="true">

      <documentation defaultLanguage="en">
        <text language="en">VetoableSequenceChangeListener reference implementation.</text>
      </documentation>
      <authors>
        <author name="Christian Schulte" version="1.0" mail="schulte2005@users.sourceforge.net"
                createDate="2005-07-25T19:56:45Z"/>

      </authors>
      <specifications>
        <reference identifier="org.jomc.sequences.VetoableSequenceChangeListener" version="1.0"/>
      </specifications>
      <properties>
        <property name="sequenceNameMinLength" type="int" value="1">
          <documentation defaultLanguage="en">
            <text language="en">Minimum required length of a sequence name.</text>
          </documentation>
        </property>
        <property name="sequenceNameMaxLength" type="int" value="200">
          <documentation defaultLanguage="en">
            <text language="en">Maximum allowed length of a sequence name.</text>
          </documentation>
        </property>
      </properties>
    </implementation>
  </implementations>
  <messages>
    <message name="unhandledException">
      <template defaultLanguage="en">
        <text language="en">Unhandled exception.</text>
        <text language="de">Unbehandelte Ausnahme.</text>
      </template>
    </message>
    <message name="illegalArgument">
      <template defaultLanguage="en">
        <text language="en">Illegal value ''{1}'' for argument ''{0}''.</text>
        <text language="de">Ungültiger Wert ''{1}'' für Parameter ''{0}''.</text>
      </template>
      <arguments>
        <argument index="0" name="argumentName"/>
        <argument index="1" name="argumentValue"/>
      </arguments>
    </message>
    <message name="implementationInfo">
      <template defaultLanguage="en">
        <text language="en">DefaultSequenceDirectory Version 1.0-alpha-4</text>
        <text language="de">DefaultSequenceDirectory Version 1.0-alpha-4</text>
      </template>
    </message>
    <message name="successfullyCreatedSequenceDirectory">
      <template defaultLanguage="en">
        <text language="en">Sequence directory ''{0}'' created.</text>
        <text language="de">Sequenzverzeichnis ''{0}'' erstellt.</text>
      </template>
      <arguments>
        <argument index="0" name="name"/>
      </arguments>
    </message>
  </messages>
</module>
