<?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.
-->
<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="ArrayCollections" identity-type="datastore">
<field name="ArrayOfObject0" persistence-modifier="persistent">
<array serialized-element="true"
        element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</array>
</field>
<field name="ArrayOfObject1" persistence-modifier="persistent">
<array embedded-element="false"
        element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</array>
</field>
<field name="ArrayOfSimpleClass2" >
<array serialized-element="true"
        element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</array>
</field>
<field name="ArrayOfSimpleClass3">
<array embedded-element="false"
        element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</array>
</field>
<field name="ArrayOfSimpleInterface4" persistence-modifier="persistent">
<array serialized-element="true"
        element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</array>
</field>
<field name="ArrayOfSimpleInterface5" persistence-modifier="persistent">
<array embedded-element="false"
        element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</array>
</field>
<field name="ArrayOfString6" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfString7" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfDate8" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfDate9" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfLocale10" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfLocale11" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfBigDecimal12" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfBigDecimal13" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfBigInteger14" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfBigInteger15" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfByte16" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfByte17" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfDouble18" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfDouble19" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfFloat20" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfFloat21" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfInteger22" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfInteger23" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfLong24" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfLong25" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfShort26" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfShort27" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfSimpleEnum28" serialized="true">
<array embedded-element="false">
</array>
</field>
<field name="ArrayOfSimpleEnum29" >
<array embedded-element="true">
</array>
</field>
<field name="ArrayOfSimpleEnum30" >
<array embedded-element="true">
</array>
</field>
</class>
</package>
</jdo>
