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

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->
<!DOCTYPE jdo PUBLIC
  "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
  "http://java.sun.com/dtd/jdo_2_0.dtd">

<jdo>
  <package name="org.codehaus.plexus.security.keys.jdo.v0_9_0">
    <class name="AuthenticationKeyDatabase" detachable="true" table="AuthenticationKeyDatabase">
      <field name="keys">
        <collection element-type="JdoAuthenticationKey" dependent-element="true"/>
        <join/>
      </field>
      <fetch-group name="AuthenticationKeyDatabase_detail">
        <field name="keys"/>
      </fetch-group>
    </class>
    <class name="JdoAuthenticationKey" detachable="true" table="JdoAuthenticationKey" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity">
      <field name="key" persistence-modifier="persistent" primary-key="true">
        <column name="AUTHKEY"/>
      </field>
      <field name="forPrincipal"/>
      <field name="purpose"/>
      <field name="dateCreated"/>
      <field name="dateExpires"/>
    </class>
    <class name="PlexusSecurityKeyManagementJdoModelloMetadata" detachable="true">
      <field name="modelVersion" null-value="default">
        <column default-value="0.9.0"/>
      </field>
    </class>
  </package>
</jdo>
