<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.0.0/javadoc/org/apache/ignite/binary/package-frame.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Sun Apr 30 12:27:13 MSK 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.ignite.binary (Ignite 2.0.0)</title>
<meta name="date" content="2017-04-30">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<h1 class="bar"><a href="../../../../org/apache/ignite/binary/package-summary.html" target="classFrame">org.apache.ignite.binary</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="BinaryCollectionFactory.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryCollectionFactory</i></a></li>
<li><a href="BinaryField.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryField</i></a></li>
<li><a href="BinaryIdMapper.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryIdMapper</i></a></li>
<li><a href="Binarylizable.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>Binarylizable</i></a></li>
<li><a href="BinaryMapFactory.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryMapFactory</i></a></li>
<li><a href="BinaryNameMapper.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryNameMapper</i></a></li>
<li><a href="BinaryObject.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryObject</i></a></li>
<li><a href="BinaryObjectBuilder.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryObjectBuilder</i></a></li>
<li><a href="BinaryRawReader.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryRawReader</i></a></li>
<li><a href="BinaryRawWriter.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryRawWriter</i></a></li>
<li><a href="BinaryReader.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryReader</i></a></li>
<li><a href="BinarySerializer.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinarySerializer</i></a></li>
<li><a href="BinaryType.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryType</i></a></li>
<li><a href="BinaryWriter.html" title="interface in org.apache.ignite.binary" target="classFrame"><i>BinaryWriter</i></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="BinaryBasicIdMapper.html" title="class in org.apache.ignite.binary" target="classFrame">BinaryBasicIdMapper</a></li>
<li><a href="BinaryBasicNameMapper.html" title="class in org.apache.ignite.binary" target="classFrame">BinaryBasicNameMapper</a></li>
<li><a href="BinaryReflectiveSerializer.html" title="class in org.apache.ignite.binary" target="classFrame">BinaryReflectiveSerializer</a></li>
<li><a href="BinaryTypeConfiguration.html" title="class in org.apache.ignite.binary" target="classFrame">BinaryTypeConfiguration</a></li>
</ul>
<h2 title="Exceptions">Exceptions</h2>
<ul title="Exceptions">
<li><a href="BinaryInvalidTypeException.html" title="class in org.apache.ignite.binary" target="classFrame">BinaryInvalidTypeException</a></li>
<li><a href="BinaryObjectException.html" title="class in org.apache.ignite.binary" target="classFrame">BinaryObjectException</a></li>
</ul>
</div>
</body>
</html>
