<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>success</status>
  <result>
    <project>
      <id>20446</id>
      <name>io-tools</name>
      <created_at>2008-10-07T13:10:57Z</created_at>
      <updated_at>2009-12-03T12:06:05Z</updated_at>
      <description>Stream Utilities (EasyStream)Small set of utilities for dealing with streams. You can use this library for: 

'Convert' an OutputStream into an InputStream. If it's the first time you think about it, you'd better have a look at this preamble. Stream statistics gathering: bytes read/written, bit rate. Stream buffering: read the content of an InputStream multiple times or seek to a definite position. Stream wiring: While reading the data from an InputStream &quot;tee&quot; it to supplied OutputStream(s) or write data to multiple OutputStream(s) at the same time. EasyStream is a natural extension of Apache commons-io, providing advanced solutions to some common but not trivial problem. Focus is on performance and memory usage.  

Format detection (WazFormat)This library is a format identification framework that integrates a native format identification engine with droid and in future will integrate mime-utils and apache tika. 

Supports more than 60 file formats. on the fly detection: it wraps the original InputStream so it's able to &quot;preserve&quot; the data in it for further processing (the data is eventually buffered to disk or to memory but the users won't notice it). Nested detection: it can detect what is inside a bzip2 stream or a PKCS#7 document. Result of identification is an Enum. Most of identification libraries return a string that must be further parsed by the calling software. What is next ?Take a 5 minutes tutorial: stream utilities, format identification. Check out the API ( easystream and wazformat ) download the latest version (see the link on the right) or if you're a Maven2 user install it. post your questions on the users forum. 



.gadget-title {
  margin-bottom: 2px;
}



function resizeIframeHandler(opt_height) {
  var elem = document.getElementById(this.f);
  if (!elem) return;
  if (!opt_height) {
    elem.style.height = undefined;
  }
  else {
    opt_height = Math.max(10, opt_height);
    elem.style.height = opt_height + 'px';
  }
}
gadgets.rpc.register(&quot;resize_iframe&quot;, resizeIframeHandler);

gadgets.rpc.register('set_title', function(title) {
 var elem = document.getElementById(this.f + '_title');
 if (elem) {
   elem.innerHTML = gadgets.util.escape(title);
 }
});

  Any help is appreciated (also comment or suggestion or bug reports). If you want to contribute please contact me through the forum and request for a membership.</description>
      <homepage_url>http://code.google.com/p/io-tools</homepage_url>
      <download_url>http://code.google.com/p/io-tools/downloads/list</download_url>
      <url_name>io-tools</url_name>
      <medium_logo_url>http://bits.ohloh.net/attachments/1183/java_library_med.png</medium_logo_url>
      <small_logo_url>http://bits.ohloh.net/attachments/1183/java_library_small.png</small_logo_url>
      <user_count>2</user_count>
      <average_rating>5.0</average_rating>
      <rating_count>2</rating_count>
      <analysis_id>778323</analysis_id>
      <analysis>
        <id>778323</id>
        <project_id>20446</project_id>
        <updated_at>2009-12-03T12:06:04Z</updated_at>
        <logged_at>2009-12-03T12:01:28Z</logged_at>
        <min_month>2008-11-01T00:00:00Z</min_month>
        <max_month>2009-11-01T00:00:00Z</max_month>
        <twelve_month_contributor_count>1</twelve_month_contributor_count>
        <total_code_lines>12347</total_code_lines>
        <main_language_id>5</main_language_id>
        <main_language_name>Java</main_language_name>
      </analysis>
      <licenses>
        <license>
          <name>bsd</name>
          <nice_name>BSD Copyright</nice_name>
        </license>
      </licenses>
    </project>
  </result>
</response>
