<?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="datastore">
<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>
