Holger's Java API

## Package com.antelmann.net

The classes in this package are designed to provide convenient access to Internet related functionality.

See:
Description

Interface Summary
ConnectionDispatcher: used by a NetConnectionServer object to create a Thread that handles incoming connections
CrawlerSetting: CrawlerSetting defines callback functions that determine the behavior in which a web search algorithm goes through the net and calculates its results.
Downloader.Listener
Handshake: defines the process on how a party can determine whether the connection party is a valid counterpart.
MediaCrawler.Handler: used to handle the media files found during the search of the MediaCrawler
NetConnection: A NetConnection provides a convenient way to communicate with a remote process.
NetConnectionHandler: A NetConnectionHandler is used to handle incoming messages from a NetConnection.
ServerLog: ServerLog represents a log from a web-server and provides access to its content
URLCache.RefreshListener: RefreshListener objects can register with URLCache objects to be notified when the URLCache object is refreshed

Class Summary
CGI: The class CGI provides a convenient way to post parameters to a web-based CGI (Common Gateway Interface) script.
CGI.MultipartHandler
ChatServer: ChatServer implements a server that handles chat messages that are broadcasted among the active connections to the server.
Downloader: Downloads a URL or URLCache object into a file.
DyndnsTool: makes it easy to use dyndns services (see http://www.dyndns.com/developers/specs/)
FTPConnector: FTPConnector implements some useful methods for an FTP client.
GoogleWrapper: GoogleWrapper is a simple wrapper around the Google.com search API capabilities to make it more easily usable.
HtmlCopyParser: copies the parsed content into the given writer
JChat: JChat provides a simple GUI chat client that works with ChatServer.
JDownloader: Downloads a URL or URLCache object into a file in a thread using a ProgressMonitorInputStream, so that the user can abort if desired
JFTP: JFTP is a simple GUI wrapper for an FTPConnector.
JMessenger: JMessenger provides a simple GUI messenger for a direct peer-to-peer connection that uses one side as the server.
JNetProperties: provides a form to edit Java network properties
JSpider: a Swing based GUI that uses functionality of the Spider class and uses a default SampleCrawlerSetting instance if no other CrawlerSetting is specified.
JURLCachePane: A JEditorPane that can take advantage of a URLCache.
JWebBrowser: A very plain Web Browser with minimal functionality; but still cool.
LocalWeb: LocalWeb represents a website based on the local file system.
MediaCrawler: MediaCrawler is a single thread that searches the web for files that are of a given type.
MessageDelegator: MessageDelegator listens for incoming messages on the given connection and delegates the message to the handler - once its `run()` method is called.
NetConnectionAdapter
NetConnectionServer: A NetConnectionServer - once run() is called - listens to incoming requests from NetConnection objects with a signature provided by the ConnectionDispatcher.
NetConnectionServer.DefaultDispatcher: The DefaultDispatcher provides a default ConnectionDispatcher that is used when the NetConnectionServer constructor in the enclosing class is called with a NetConnectionHandler
RemoteNetInterfaceProtocol: implements a convenient protocol for invoking calls to an object remotely using reflection via proxy.
SampleCrawlerSetting: SampleCrawlerSetting is what it's named: a sample CrawlerSetting.
SecureConnection: SecureConnection is a small wrapper for NetConnection objects, which provides automatic encoding/decoding of messages.
ServerLogAnalyzer: provides several methods to analyze a ServerLog
ServerLogEntry: a log entry from a web-server log
ServerLogFile: ServerLogFile implements a web-server log based on a standard log file.
SimpleHandshake
SocketConnection: A SocketConnection provides simplified access to a remote process through a Socket connection.
Spider: Spider provides several useful methods for accessing web content and parsing HTML most based on a simple URL.
Spider.SMonitor: Deprecated.
Spider.URLWrapper: wrappes a java.net.URL and keeps a reference to its referer
SSLHelper: simplifies dealing with untrusted certificates
SSLSocketConnection: An SSLSocketConnection provides simplified access to a remote process through an SSLSocket connection.
URLCache: A wrapper around java.net.URL that caches a copy of the content and adds some additional functionality designed for HTML pages.
URLNode: URLNode wrapps a URL and places it into a URLTree, which determines how the URLNode calculates its children.
URLSorter: A simple convenience class that sorts URLs by their external form lexicographically.
URLTree: URLTree represents the model of a tree where each node is made of a URL wrapped in a URLNode object.
Whois: provides a simple whois client

Enum Summary
Whois.Item
Whois.Type

Exception Summary
HandshakeException: A HandshakeException is thrown to indicate that a handshake of a SocketConnection was not successful due to signatures that do not match.
UnexpectedDataException: thrown to indicate that some received data is incorrect

## Package com.antelmann.net Description

The classes in this package are designed to provide convenient access to Internet related functionality.

The package includes a generic multi-threaded network server implementation that can be highly customized using the interfaces also included in this package. Sending and receiving messages in client/server applications is greatly simplified over the java.net functionality when using a simple NetConnection object from this package (sample implementations of the interface are of course included).

A reference implementation for the provided interfaces includes a simple java chat client program (including a GUI wrapper) along with the chat server implementation.

Further functionality from this package include functions for easy-to-use web-crawling, and HTML-parsing, a class for accessing cached URLs and a CGI bridge (enabling you to easily post parameters to a script).

Finally, there is a complete web browser implementation included.

(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads