               :state state
               :init init
               :methods [[setApiUrl [String] Object]
-                        [getApiUrl [] String]
                         [setAppId  [String] Object]
                         [setSourceId [String] Object]
-                        [getSourceId [] String]
                         [setPublishInterval [Long] Object]
-                        [getPublishInterval [] Long]
                         [setMinBufferSize [Long] Object]
-                        [getMinBufferSize [] Long]
                         [setMaxBufferSize [Long] Object]
-                        [getMaxBufferSize [] Long]
                         [setCompression [String] Object]
                         [setServiceName [String] Object]
                         [build [] samsara.logger.EventLogger]

(defn -build [this]
  (EventLogger. @(.state this)))



(defn -sendToSamsara [this]
  (if (clojure.string/blank? (:url @(.state this)))
    false

  (swap! (.state this) assoc :url url)
  this)

(defn -setAppId [this ^String appId]
  (swap! (.state this) assoc :appId appId)
  this)
