Plugins and plugin management

The main feature (sweet one) of jxmpp-bot by design is it’s flexible plugin-oriented architecture. Any functionality can be added using plugins. In this post about the architecture overview I’ve mentioned PluginManager. Now it’s time to make a more detailed review.

Read the rest of this entry »

XMPP service. System Facade

In previous posts (here and here) I’ve started describing XMPP subsystem and analyzing requirements. Before we proceed with the analysis of  requirements (8)+ it’s time to create overview of current structure

Read the rest of this entry »

XMPP Subsystem. Bird’s-eye view

Now when XMPP subsystem is designed and implementation is ready and polished I’d like to share some my ideas.

Read the rest of this entry »

Abstract Factory + Composite = Composite Factory

Some time ago I’ve faced an interesting challenge. I needed to create library that provided clients with my own types (let’s call them built-in ones). On the other side I needed to allow third-parties to extend my library using their own types.

Read the rest of this entry »