<?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

      https://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.
-->
<jdo xmlns="https://db.apache.org/jdo/xmlns/jdo"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="https://db.apache.org/jdo/xmlns/jdo
     https://db.apache.org/jdo/xmlns/jdo_3_2.xsd">
<package name="org.apache.jdo.tck.pc.fieldtypes">
<class name="SetCollections" identity-type="application"
    objectid-class="org.apache.jdo.tck.pc.fieldtypes.SetCollections$Oid">
<field name="identifier" primary-key="true"/>
<field name="SetOfObject0" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="SetOfObject1" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="SetOfObject2" serialized="true">
  <collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
  </collection>
</field>
<field name="SetOfSimpleClass3" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="SetOfSimpleClass4" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="SetOfSimpleClass5" serialized="true">
  <collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
  </collection>
</field>
<field name="SetOfSimpleClass42" serialized="true">
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="false">
</collection>
</field>
<field name="SetOfSimpleInterface6" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="SetOfSimpleInterface7" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="SetOfSimpleInterface8" serialized="true">
  <collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
  </collection>
</field>
<field name="SetOfString9" >
<collection element-type="java.lang.String">
</collection>
</field>
<field name="SetOfString10" >
<collection element-type="java.lang.String" embedded-element="true">
</collection>
</field>
<field name="SetOfString11" serialized="true">
<collection element-type="java.lang.String" embedded-element="false">
</collection>
</field>
<field name="SetOfDate12" >
<collection element-type="java.util.Date">
</collection>
</field>
<field name="SetOfDate13" >
<collection element-type="java.util.Date" embedded-element="true">
</collection>
</field>
<field name="SetOfDate14" serialized="true">
<collection element-type="java.util.Date" embedded-element="false">
</collection>
</field>
<field name="SetOfLocale15" >
<collection element-type="java.util.Locale">
</collection>
</field>
<field name="SetOfLocale16" >
<collection element-type="java.util.Locale" embedded-element="true">
</collection>
</field>
<field name="SetOfLocale17" serialized="true">
<collection element-type="java.util.Locale" embedded-element="false">
</collection>
</field>
<field name="SetOfBigDecimal18" >
<collection element-type="java.math.BigDecimal">
</collection>
</field>
<field name="SetOfBigDecimal19" >
<collection element-type="java.math.BigDecimal" embedded-element="true">
</collection>
</field>
<field name="SetOfBigDecimal20" serialized="true">
<collection element-type="java.math.BigDecimal" embedded-element="false">
</collection>
</field>
<field name="SetOfBigInteger21" >
<collection element-type="java.math.BigInteger">
</collection>
</field>
<field name="SetOfBigInteger22" >
<collection element-type="java.math.BigInteger" embedded-element="true">
</collection>
</field>
<field name="SetOfBigInteger23" serialized="true">
<collection element-type="java.math.BigInteger" embedded-element="false">
</collection>
</field>
<field name="SetOfByte24" >
<collection element-type="java.lang.Byte">
</collection>
</field>
<field name="SetOfByte25" >
<collection element-type="java.lang.Byte" embedded-element="true">
</collection>
</field>
<field name="SetOfByte26" serialized="true">
<collection element-type="java.lang.Byte" embedded-element="false">
</collection>
</field>
<field name="SetOfDouble27" >
<collection element-type="java.lang.Double">
</collection>
</field>
<field name="SetOfDouble28" >
<collection element-type="java.lang.Double" embedded-element="true">
</collection>
</field>
<field name="SetOfDouble29" serialized="true">
<collection element-type="java.lang.Double" embedded-element="false">
</collection>
</field>
<field name="SetOfFloat30" >
<collection element-type="java.lang.Float">
</collection>
</field>
<field name="SetOfFloat31" >
<collection element-type="java.lang.Float" embedded-element="true">
</collection>
</field>
<field name="SetOfFloat32" serialized="true">
<collection element-type="java.lang.Float" embedded-element="false">
</collection>
</field>
<field name="SetOfInteger33" >
<collection element-type="java.lang.Integer">
</collection>
</field>
<field name="SetOfInteger34" >
<collection element-type="java.lang.Integer" embedded-element="true">
</collection>
</field>
<field name="SetOfInteger35" serialized="true">
<collection element-type="java.lang.Integer" embedded-element="false">
</collection>
</field>
<field name="SetOfLong36" >
<collection element-type="java.lang.Long">
</collection>
</field>
<field name="SetOfLong37" >
<collection element-type="java.lang.Long" embedded-element="true">
</collection>
</field>
<field name="SetOfLong38" serialized="true">
<collection element-type="java.lang.Long" embedded-element="false">
</collection>
</field>
<field name="SetOfShort39" >
<collection element-type="java.lang.Short">
</collection>
</field>
<field name="SetOfShort40" >
<collection element-type="java.lang.Short" embedded-element="true">
</collection>
</field>
<field name="SetOfShort41" serialized="true">
<collection element-type="java.lang.Short" embedded-element="false">
</collection>
</field>
</class>
</package>
</jdo>
