While it is not truly abstract it does act as the base class for AbstractJMSReceiver (which JMSQueueReceiver and JMSTopicReceiver both extend), SocketServer, and UDPSocketServer. On its own, AbstractServer doesn’t really do anything. But they all end up calling the log method, which is really why AbstractServer exists.
An interface provides no functionality. The point of the class is that all the Receivers share the log method implementation. While the name may not be accurate, several of us dislike naming classes “Base”Xxxxx or XxxxxBase (i.e. ServerBase, ReceiverBase, etc). If you can suggest a better name I’d be OK with changing it. Ralph On Mar 2, 2014, at 1:33 PM, Matt Sicker <boa...@gmail.com> wrote: > org.apache.logging.log4j.core.AbstractServer > > 1. It's not abstract. > 2. As it's not abstract, there are no abstract methods or any common > interface really. > > That being said, would it make more sense for this to be an interface with a > simple log(LogEvent) method defined? Perhaps calling this class > "AbstractServer", while demonstrating its usage, is a poor name for what it > actually does. > > -- > Matt Sicker <boa...@gmail.com>