<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-04-02 
 | Rendered using Apache Maven Fluido Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20180402" />
    <meta http-equiv="Content-Language" content="en" />
    <title>streams-converters &#x2013; Rat (Release Audit Tool) results</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>

          <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-77087101-1', 'auto');
                ga('send', 'pageview');
            </script>
                      </head>
        <body class="topBarEnabled">
          
    
    
            
    
        
    <a href="https://github.com/apache/streams">
      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
        src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"
        alt="Fork me on GitHub">
    </a>
  
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top navbar-inverse">
      <div class="navbar-inner">
                                  <div class="container"><div class="nav-collapse">
            
                
                                <ul class="nav">
                          <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="../../index.html"  title="Overview">Overview</a>
</li>
                  
                      <li>      <a href="../../architecture.html"  title="Architecture">Architecture</a>
</li>
                  
                      <li>      <a href="../../concepts.html"  title="Concepts">Concepts</a>
</li>
                  
                      <li>      <a href="../../downloads.html"  title="Downloads">Downloads</a>
</li>
                  
                      <li>      <a href="../../streams-examples/index.html"  title="Examples">Examples</a>
</li>
                  
                      <li>      <a href="../../faq.html"  title="Frequently Asked Questions">Frequently Asked Questions</a>
</li>
                  
                      <li>      <a href="../../modules.html"  title="Modules">Modules</a>
</li>
                          </ul>
      </li>
                <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Reports <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li class="dropdown-submenu">
                                      <a href="project-info.html"  title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="integration.html"  title="CI Management">CI Management</a>
</li>
                                  <li>      <a href="dependencies.html"  title="Dependencies">Dependencies</a>
</li>
                                  <li>      <a href="dependency-info.html"  title="Dependency Information">Dependency Information</a>
</li>
                                  <li>      <a href="dependency-management.html"  title="Dependency Management">Dependency Management</a>
</li>
                                  <li>      <a href="distribution-management.html"  title="Distribution Management">Distribution Management</a>
</li>
                                  <li>      <a href="index.html"  title="About">About</a>
</li>
                                  <li>      <a href="issue-tracking.html"  title="Issue Management">Issue Management</a>
</li>
                                  <li>      <a href="license.html"  title="Licenses">Licenses</a>
</li>
                                  <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="modules.html"  title="Project Modules">Project Modules</a>
</li>
                                  <li>      <a href="plugin-management.html"  title="Plugin Management">Plugin Management</a>
</li>
                                  <li>      <a href="plugins.html"  title="Plugins">Plugins</a>
</li>
                                  <li>      <a href="team-list.html"  title="Team">Team</a>
</li>
                                  <li>      <a href="source-repository.html"  title="Source Code Management">Source Code Management</a>
</li>
                                  <li>      <a href="project-summary.html"  title="Summary">Summary</a>
</li>
                              </ul>
            </li>
                  
                      <li class="dropdown-submenu">
                                      <a href="project-reports.html"  title="Project Reports">Project Reports</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="checkstyle.html"  title="Checkstyle">Checkstyle</a>
</li>
                                  <li>      <a href="third-party-report.html"  title="Third Parties">Third Parties</a>
</li>
                                  <li>      <a href="apidocs/index.html"  title="JavaDocs">JavaDocs</a>
</li>
                                  <li>      <a href="testapidocs/index.html"  title="Test JavaDocs">Test JavaDocs</a>
</li>
                                  <li>      <a href="rat-report.html"  title="Rat Report">Rat Report</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                  </ul>
          
          
                                                    
        
        
        <ul class="nav pull-right"><li>
    
    <a href="https://twitter.com/ApacheStreams" class="twitter-follow-button" data-show-count="true" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow ApacheStreams</a>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

        </li></ul>
                              
                   
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                    <a href="http://streams.apache.org" id="bannerLeft">
                                                                                        <img src="http://streams.apache.org/images/streams_logo.jpg"  alt="Apache Streams" width="150" height="100"/>
                </a>
                      </div>
        <div class="pull-right">  </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
              
                              <li class="">
                    <a href="http://streams.apache.org" class="externalLink" title="Streams">
        Streams</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../index.html" title="streams-components">
        streams-components</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="index.html" title="streams-converters">
        streams-converters</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Rat (Release Audit Tool) results</li>
        
              
      
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2><a name="Rat_Release_Audit_Tool_results"></a>Rat (Release Audit Tool) results</h2>
<p>The following document contains the results of <a class="externalLink" href="http://creadur.apache.org/rat/apache-rat-plugin/">Rat (Release Audit Tool)</a>.</p>
<p></p>
<div class="source"><pre class="prettyprint">
*****************************************************
Summary
-------
Generated at: 2018-04-02T22:45:12+00:00
Notes: 0
Binaries: 0
Archives: 0
Standards: 47

Apache Licensed: 47
Generated Documents: 0

JavaDocs are generated and so license header is optional
Generated files do not required license headers

0 Unknown Licenses

*******************************

Unapproved licenses:


*******************************

Archives:

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require AL headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc will be marked N
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/pom.xml
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/README.md
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/test4.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/test1.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/test3a.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/org/apache/streams/converter/ActivityConverterProcessorConfiguration.json
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/org/apache/streams/converter/LineReadWriteConfiguration.json
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/org/apache/streams/converter/ActivityObjectConverterProcessorConfiguration.json
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/test3b.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/resources/test2.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/site/markdown/index.md
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/resources/test4.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/resources/test1.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/resources/test3a.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/resources/test3b.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/resources/test2.conf
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/CustomActivityConverter.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/NoConfigActivityConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/CustomActivityObjectConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/BaseActivityObjectConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/BaseActivityConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/HoconConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/CustomActivityConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/TypeConverterProcessorTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/CustomType.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/CustomActivityObjectConverter.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/TestLineReadWriteUtil.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/CustomDocumentClassifier.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/test/java/org/apache/streams/converter/test/HoconConverterTest.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/converter/ActivityConverterProcessorConfiguration.json
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/converter/LineReadWriteConfiguration.json
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/jsonschema/org/apache/streams/converter/ActivityObjectConverterProcessorConfiguration.json
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityObjectConverterUtil.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseObjectNodeActivityObjectConverter.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/FieldConstants.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/LineReadWriteUtil.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityObjectConverterProcessor.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityConverterUtil.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterProcessor.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/TypeConverterUtil.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/HoconConverterProcessor.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/ActivityConverterProcessor.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseDocumentClassifier.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseObjectNodeActivityConverter.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityObjectConverter.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/BaseStringActivityConverter.java
  AL    /home/jenkins/jenkins-slave/workspace/streams-project-site/streams-components/streams-converters/src/main/java/org/apache/streams/converter/HoconConverterUtil.java
 
*****************************************************
 Printing headers for files without AL header...
 
 </pre></div></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                                      <p >Copyright &copy;                    2018
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.    
                  <li id="publishDate" class="pull-right">Last Published: 2018-04-02</li>
              <li id="projectVersion" class="pull-right">
                    Version: 0.5.2-SNAPSHOT
        </li>
            </p>
                </div>

                <p id="poweredBy" class="pull-right">
                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
              </p>
        
                </div>
    </footer>
        </body>
</html>