<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0_20" class="java.beans.XMLDecoder"> 
 <object class="com.horstmann.violet.ClassDiagramGraph"> 
  <void method="addNode"> 
   <object id="ClassNode0" class="com.horstmann.violet.ClassNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>+__init__(source: AbstractFile, target: AbstractFile)
+copyfileobj(source: file, target: file, callback)
+copy(source: AbstractFile, target: AbstractFile)
+copy_if_newer(source: AbstractFile, target: AbstractFile)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>Transfer</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>554.0</double> 
     <double>276.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode1" class="com.horstmann.violet.ClassNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>+copyfileobj(source: file, target: file, callback)
+upload(source: str, target: str, mode, callback)
+upload_if_newer(source: str, target: str, mode, callback)
+download(source: str, target: str, mode, callback)
+download_if_newer(source: str, target: str, mode, callback)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>FTPHost</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>187.0</double> 
     <double>36.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode2" class="com.horstmann.violet.ClassNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>+__init__(name, mode)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>LocalFile</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>35.0</double> 
     <double>518.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode3" class="com.horstmann.violet.ClassNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>+__init__(ftp_host, name, mode)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>RemoteFile</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>260.0</double> 
     <double>522.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object class="com.horstmann.violet.NoteNode"> 
    <void property="text"> 
     <void property="text"> 
      <string>constructed during one of
the transfer commands</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>542.0</double> 
     <double>223.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode4" class="com.horstmann.violet.ClassNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>+exists()
+mtime()
+mtime_precision()
+fobj()</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
AbstractFile</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>157.0</double> 
     <double>275.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="bentStyle"> 
     <object class="com.horstmann.violet.BentStyle" field="HV"/> 
    </void> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>1</string> 
    </void> 
    <void property="middleLabel"> 
     <string>«temporary»</string> 
    </void> 
    <void property="startLabel"> 
     <string>1</string> 
    </void> 
   </object> 
   <object idref="ClassNode1"/> 
   <object idref="ClassNode0"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="bentStyle"> 
     <object class="com.horstmann.violet.BentStyle" field="VHV"/> 
    </void> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>2</string> 
    </void> 
    <void property="middleLabel"> 
     <string>«temporary»</string> 
    </void> 
    <void property="startLabel"> 
     <string>1</string> 
    </void> 
   </object> 
   <object idref="ClassNode1"/> 
   <object idref="ClassNode4"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="bentStyle"> 
     <object class="com.horstmann.violet.BentStyle" field="VHV"/> 
    </void> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode2"/> 
   <object idref="ClassNode4"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="bentStyle"> 
     <object class="com.horstmann.violet.BentStyle" field="VHV"/> 
    </void> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode3"/> 
   <object idref="ClassNode4"/> 
  </void> 
 </object> 
</java> 
