<library xmlns="library">
<language>JAVA</language>
  <functions>
   <function>
     <function_type>SCALAR</function_type>
     <name>parseTweet</name>
     <arguments>TweetType</arguments>
     <return_type>TweetType</return_type>
     <definition>com.external.ParseTweetFactory</definition>
  </function>
   <function>
     <function_type>SCALAR</function_type>
     <name>mysum</name>
     <arguments>AINT32,AINT32</arguments>
     <return_type>AINT32</return_type>
     <definition>com.external.SumFactory</definition>
  </function>
  <function>
    <function_type>SCALAR</function_type>
    <name>toUpper</name>
    <arguments>TextType</arguments>
    <return_type>TextType</return_type>
    <definition>com.external.UpperCaseFactory</definition>
  </function>
  <function>
    <function_type>SCALAR</function_type>
    <name>allTypes</name>
    <arguments>AllType</arguments>
    <return_type>AllType</return_type>
    <definition>com.external.AllTypesFactory</definition>
  </function>
</functions>
</library>
