<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.7.0/javadoc/org/apache/ignite/binary/package-frame.html" />
<!-- Generated by javadoc (version 1.7.0_80) on Mon Aug 01 20:32:34 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.ignite.binary (Ignite 1.7.0)</title>
<meta name="date" content="2016-08-01">
<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>
