JOAP::Server::Object is a base class for Things Servable By JOAP Servers.
This verbosely-named OO package -- sorry about that -- is the base class for object servers, classes, and instances inside a JOAP server. It is probably not such a hunky-dory idea to inherit from this class itself -- use JOAP::Server::Class or JOAP::Server instead. However, it does lay out the framework for how those classes works -- thus, this POD.
When it comes down to it, JOAP is about defining objects and making their attributes and methods available across the Jabber network. This class does the meat of that.
(Unfortunate note: this is a Perl class for defining JOAP objects. It uses Perl attributes to make JOAP attributes, and Perl methods to make JOAP methods. The terminology is confusing, so I'll try and use the prefixes 'Perl' and 'JOAP' where possible.)
There are three interfaces for this module.
This interface consists of a constructor and a set of 8 "handler" methods, which are appropriate for folks who want to create JOAP servers that can serve Perl classes (JOAP::Server is one piece of software that uses this interface).
This interface is a set of rules for defining data and methods in a Perl module that is a subclass of JOAP::Server::Object, so that it can be seen by the world as a JOAP class.
This interface is documented in JOAP::Server and JOAP::Server::Class for object servers and classes, respectively. It's repeated here for completeness.
This interface is a whole bunch of itty-bitty methods that subclasses can overload if they want to subvert the 'standard' way of defining a JOAP server class in Perl. It'd be appropriate for, say, creating gateways to other object systems, or having more robust and scalable systems written in Perl than the one implemented here.
The complex subclass interface is still in flux and remains undocumented for now.