<!--
/***************************************************************************************************************************
 * 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.
 ***************************************************************************************************************************/
 -->

Default PojoSwaps

<p>
	By default, all serializers and parsers have built in <c>PojoSwaps</c> defined for the following common data types:
</p>
<ul class='javatree'>
	<li class='jc'>{@link java.util.Enumeration}
	<li class='jc'>{@link java.util.Iterator}
	<li class='jc'>{@link java.util.Locale}
	<li class='jc'>{@link java.util.Class}
	<li class='jc'>{@link java.util.Calendar} - ISO offset date-time.
	<li class='jc'>{@link java.util.Date} - Local date-time
	<li class='jc'>{@link java.time.Instant} - ISO instant.
	<li class='jc'>{@link java.time.ZonedDateTime} - ISO offset date-time.
	<li class='jc'>{@link java.time.LocalDate} - ISO local date.
	<li class='jc'>{@link java.time.LocalDateTime} - ISO local date-time.
	<li class='jc'>{@link java.time.LocalTime} - ISO local time.
	<li class='jc'>{@link java.time.OffsetDateTime} - ISO offset date-time.
	<li class='jc'>{@link java.time.OffsetTime} - ISO offset time.
	<li class='jc'>{@link java.time.Year} - ISO year.
	<li class='jc'>{@link java.time.YearMonth} - ISO year-month.
	<li class='jc'>{@link java.time.Temporal} - ISO instant.
	<li class='jc'>{@link java.util.TimeZone}
	<li class='jc'>{@link javax.xml.datatype.XMLGregorianCalendar}
	<li class='jc'>{@link java.time.ZoneId}
</ul>
<p>
	Various other swaps are provided in the <c>org.apache.juneau.transforms</c> package:
</p>
<ul class='javatree'>
	<li class='jp'><jk>org.apache.juneau.transforms</jk>
		<ul>
			<li class='jac'>{@link oaj.transforms.ByteArraySwap}
			<ul>
				<li class='jc'>{@link oaj.transforms.ByteArraySwap.Base64}
				<li class='jc'>{@link oaj.transforms.ByteArraySwap.Hex}
				<li class='jc'>{@link oaj.transforms.ByteArraySwap.SpacedHex}
			</ul>
			<li class='jac'>{@link oaj.transforms.InputStreamSwap}
			<ul>
				<li class='jc'>{@link oaj.transforms.InputStreamSwap.Base64}
				<li class='jc'>{@link oaj.transforms.InputStreamSwap.Hex}
				<li class='jc'>{@link oaj.transforms.InputStreamSwap.SpacedHex}
			</ul>
			<li class='jc'>{@link oaj.transforms.ReaderSwap}
			<li class='jac'>{@link oaj.transforms.TemporalCalendarSwap}
			<ul>
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.BasicIsoDate}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoDate}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoInstant}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoLocalDate}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoLocalDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoLocalTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoOffsetDate}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoOffsetDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoOffsetTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoOrdinalDate}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoWeekDate}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.IsoZonedDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalCalendarSwap.Rfc1123DateTime}
			</ul>
			<li class='jac'>{@link oaj.transforms.TemporalDateSwap}
			<ul>
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.BasicIsoDate}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoDate}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoInstant}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoLocalDate}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoLocalDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoLocalTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoOffsetDate}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoOffsetDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoOffsetTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoOrdinalDate}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoWeekDate}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.IsoZonedDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalDateSwap.Rfc1123DateTime}
			</ul>
			<li class='jac'>{@link oaj.transforms.TemporalSwap}
			<ul>
				<li class='jc'>{@link oaj.transforms.TemporalSwap.BasicIsoDate}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoDate}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoInstant}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoLocalDate}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoLocalDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoLocalTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoOffsetDate}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoOffsetDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoOffsetTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoOrdinalDate}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoWeekDate}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoYear}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoYearMonth}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.IsoZonedDateTime}
				<li class='jc'>{@link oaj.transforms.TemporalSwap.Rfc1123DateTime}
			</ul>
		</ul>
	</li>
</ul>
