<?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="VectorCollections" identity-type="application"
    objectid-class="org.apache.jdo.tck.pc.fieldtypes.VectorCollections$Oid">
<field name="identifier" primary-key="true"/>
<field name="VectorOfObject0" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="VectorOfObject1" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="VectorOfObject2" >
  <collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" serialized-element="true">
  </collection>
</field>
<field name="VectorOfSimpleClass3" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="VectorOfSimpleClass4" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="VectorOfSimpleClass5" >
  <collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" serialized-element="true">
  </collection>
</field>
<field name="VectorOfSimpleClass42" serialized="true">
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="false">
</collection>
</field>
<field name="VectorOfSimpleInterface6" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="VectorOfSimpleInterface7" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="VectorOfSimpleInterface8">
  <collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass"
              serialized-element="true">
  </collection>
</field>
<field name="VectorOfString9" >
<collection element-type="java.lang.String">
</collection>
</field>
<field name="VectorOfString10" >
<collection element-type="java.lang.String" embedded-element="true">
</collection>
</field>
<field name="VectorOfString11" serialized="true">
<collection element-type="java.lang.String" embedded-element="false">
</collection>
</field>
<field name="VectorOfDate12" >
<collection element-type="java.util.Date">
</collection>
</field>
<field name="VectorOfDate13" >
<collection element-type="java.util.Date" embedded-element="true">
</collection>
</field>
<field name="VectorOfDate14" serialized="true">
<collection element-type="java.util.Date" embedded-element="false">
</collection>
</field>
<field name="VectorOfLocale15" >
<collection element-type="java.util.Locale">
</collection>
</field>
<field name="VectorOfLocale16" >
<collection element-type="java.util.Locale" embedded-element="true">
</collection>
</field>
<field name="VectorOfLocale17" serialized="true">
<collection element-type="java.util.Locale" embedded-element="false">
</collection>
</field>
<field name="VectorOfBigDecimal18" >
<collection element-type="java.math.BigDecimal">
</collection>
</field>
<field name="VectorOfBigDecimal19" >
<collection element-type="java.math.BigDecimal" embedded-element="true">
</collection>
</field>
<field name="VectorOfBigDecimal20" serialized="true">
<collection element-type="java.math.BigDecimal" embedded-element="false">
</collection>
</field>
<field name="VectorOfBigInteger21" >
<collection element-type="java.math.BigInteger">
</collection>
</field>
<field name="VectorOfBigInteger22" >
<collection element-type="java.math.BigInteger" embedded-element="true">
</collection>
</field>
<field name="VectorOfBigInteger23" serialized="true">
<collection element-type="java.math.BigInteger" embedded-element="false">
</collection>
</field>
<field name="VectorOfByte24" >
<collection element-type="java.lang.Byte">
</collection>
</field>
<field name="VectorOfByte25" >
<collection element-type="java.lang.Byte" embedded-element="true">
</collection>
</field>
<field name="VectorOfByte26" serialized="true">
<collection element-type="java.lang.Byte" embedded-element="false">
</collection>
</field>
<field name="VectorOfDouble27" >
<collection element-type="java.lang.Double">
</collection>
</field>
<field name="VectorOfDouble28" >
<collection element-type="java.lang.Double" embedded-element="true">
</collection>
</field>
<field name="VectorOfDouble29" serialized="true">
<collection element-type="java.lang.Double" embedded-element="false">
</collection>
</field>
<field name="VectorOfFloat30" >
<collection element-type="java.lang.Float">
</collection>
</field>
<field name="VectorOfFloat31" >
<collection element-type="java.lang.Float" embedded-element="true">
</collection>
</field>
<field name="VectorOfFloat32" serialized="true">
<collection element-type="java.lang.Float" embedded-element="false">
</collection>
</field>
<field name="VectorOfInteger33" >
<collection element-type="java.lang.Integer">
</collection>
</field>
<field name="VectorOfInteger34" >
<collection element-type="java.lang.Integer" embedded-element="true">
</collection>
</field>
<field name="VectorOfInteger35" serialized="true">
<collection element-type="java.lang.Integer" embedded-element="false">
</collection>
</field>
<field name="VectorOfLong36" >
<collection element-type="java.lang.Long">
</collection>
</field>
<field name="VectorOfLong37" >
<collection element-type="java.lang.Long" embedded-element="true">
</collection>
</field>
<field name="VectorOfLong38" serialized="true">
<collection element-type="java.lang.Long" embedded-element="false">
</collection>
</field>
<field name="VectorOfShort39" >
<collection element-type="java.lang.Short">
</collection>
</field>
<field name="VectorOfShort40" >
<collection element-type="java.lang.Short" embedded-element="true">
</collection>
</field>
<field name="VectorOfShort41" serialized="true">
<collection element-type="java.lang.Short" embedded-element="false">
</collection>
</field>
</class>
</package>
</jdo>
