So I get an instance of AbstractComponent (
http://www.igniterealtime.org/builds/tinder/docs/latest/javadoc/org/xmpp/component/AbstractComponent.html)
with the function below, overriding the necessary methods:
(defn get-component
"returns a new component instance with the specified values
name: the name of the component, e.g. the subdomain name
domain: the domain of the xmpp server
description: a description of the component
message-handler: a handler function for incoming messages
(takes one param - the message instance)"
[name domain description message-handler]
(proxy [AbstractComponent] []
(handleMessage [message] (message-handler message))
(getName [] (str name))
(getDomain [] (str domain))
(getDescription [] (str description))))
Now, say I later want to override additional methods on that instance, as
in:
(let [comp (get-component "foo" "domain.com" "foo comp" message-handler)]
(-> comp (add-presence-handler presence-handler) (add-iq-handler
iq-handler)))
First, is this possible? And if so, what does add-presence-handler look
like?
(defn add-presence-handler
"add the specified function as the presence packet handler for the
specified component"
[component presence-handler]
(doto component something))
Or would gen-class work here?
Thanks.
- Mark
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en