API for clojure.data.fressian
  -  
  
by Stuart Halloway
Full namespace name: 
clojure.data.fressian
Overview
Read/write fressian data. See http://www.edn-format.org/
  
  Protocols
  
    
    
    FressianReadable
    Protocol
    
    Known implementations: 
java.nio.ByteBuffer, Object
    
      
      
      function
      Usage: (to-input-stream obj)
      Implementation detail.
      
      
      
      
     
    
    
    Source
   
 
  
  Public Variables and Functions
  
    
    
    associative-lookup
    function
    Usage: (associative-lookup o)
    Build an ILookup from an associative collection.
    
    
    
    Source
   
    
    
    begin-closed-list
    function
    Usage: (begin-closed-list writer)
    Begin writing a fressianed list.  To end the list, call end-list.
Used to write sequential data whose size is not known in advance.
    
    
    
    Source
   
    
    
    begin-open-list
    function
    Usage: (begin-open-list writer)
    Advanced.  Writes fressian code to begin an open list.  An
open list can be terminated either by a call to end-list,
or by simply closing the stream.  Used to write sequential
data whose size is not known in advance, in contexts where
stream failure can safely be interpreted as end of list.
    
    
    
    Source
   
    
    
    clojure-read-handlers
    var
    
    Standard set of read handlers for Clojure data.
    
    
    
    Source
   
    
    
    clojure-write-handlers
    var
    
    Standard set of write handlers for Clojure data.
    
    
    
    Source
   
    
    
    create-reader
    function
    Usage: (create-reader in & {:keys [handlers checksum?]})
    Create a fressian reader targeting in, which must be compatible
with clojure.java.io/input-stream.  Handlers must be a map of
tag => ReadHandler wrapped in associative-lookup. See
clojure-read-handlers for an example.
    
    
    
    Source
   
    
    
    create-writer
    function
    Usage: (create-writer out & {:keys [handlers]})
    Create a fressian writer targeting out. Handlers must be
a nested map of type => tag => WriteHandler wrapped with
associative-lookup and inheritance-lookup. See
clojure-write-handlers for an example.
    
    
    
    Source
   
    
    
    end-list
    function
    Usage: (end-list writer)
    Ends a list begun with begin-closed-list.
    
    
    
    Source
   
    
    
    field-caching-writer
    function
    Usage: (field-caching-writer cache-pred)
    Returns a record writer that caches values for keys
matching cache-pred, which is typically specified
as a set, e.g. (field-caching-writer #{:color})
    
    
    
    Source
   
    
    
    inheritance-lookup
    function
    Usage: (inheritance-lookup lookup)
    Returns an inheritance aware lookup based on lookup that will match
subclasses as well as exact matches.  Will walk inheritance hierarchy
once per new type encountered to find the best match, then cache
results.
    
    
    
    Source
   
    
    
    read
    function
    Usage: (read readable & options)
    Convenience method for reading a single fressian object.
Takes same options as create-reader.  Readable can be
any type supported by clojure.java.io/input-stream, or
a ByteBuffer.
    
    
    
    Source
   
    
    
    read-object
    function
    Usage: (read-object rdr)
    Read a single object from a fressian reader.
    
    
    
    Source
   
    
    
    tag
    function
    Usage: (tag obj)
    Returns the tag if object is a tagged-object, else nil.
    
    
    
    Source
   
    
    
    tagged-object?
    function
    Usage: (tagged-object? o)
    Returns true if o is a tagged object, which will occur when
the reader does not recognized a specific type.  Use tag
and tagged-value to access the contents of a tagged-object.
    
    
    
    Source
   
    
    
    tagged-value
    function
    Usage: (tagged-value obj)
    Returns the value (an Object arrray) wrapped by obj, or nil
if obj is not a tagged object.
    
    
    
    Source
   
    
    
    write
    function
    Usage: (write obj & options)
    Convenience method for writing a single object.  Returns a
byte buffer.  Options are the same as for create-reader,
with one additional option.  If footer? is specified, will
write a fressian footer after writing the object.
    
    
    
    Source
   
    
    
    write-object
    function
    Usage: (write-object writer obj)
    Write a single object to a fressian reader. Returns the reader.
    
    
    
    Source