Karine Ishkhanova, SCJP, SCJD
About me: bio, resume, contact
 
Partners and projects Downloads Jar files and source of java libraries Exteranl Java Resources: quick links to MySQL,Apache,Eclipse, etc.
Java Libraries Overview:
Java Disclaimer
  • The Tab Application that was before available for download here has become part of the bigger project:  www.TheFifthAnimal.com.
  • For pure Java documentation go to the Java Documentation page which also became part of the www.TheFifthanimal.com;
  • If package has dependences on the outside jars, e.g. mail.jar to send e-mails, I mention it in the dependences note.
Name of Package
Description
wnd.tools.acm

This is a utility package used by most of my other packages. It includes 30+ classes among which are:

  • ACIni - to create and update initialization files. It supports runtime update, sections, variable substitution etc;
  • ACArgs - used to pass arguments to application. It suports construction from String[] (usually passed to main() method or can be populated from file;
  • ACIntComparator - class that implements Comparator and is useful to compare integers represented by String class;
  • ACDoubleComparator - class that implements Comparator and is useful to compare doubles represented by String class;
  • ACDateComparator - class that implements Comparator and is useful to compare dates represented as ACDateable, Date or String with the date format;
  • ACRunProcess - to run processes outside java;
  • ACMain - abstract class that implements Runnable and used to perform various tasks;
  • ACMidiAlertPlayer - used in applications that want to play various custom alert sounds;
  • ACStat - used to accumulate various applications results in maps sorted by ranges and their occurencies;
  • ACVar - represents variable (name,value) and if required links it with types like INT, STRING, FILE, DIR, CLASS.
  • DoUnzip - for unzipping files;
  • DoZip - for zipping files;
  • L - for various loggings;
  • UT - class with 300+ useful static methods;

Package Compile Dependences: NONE

wnd.tools.client
Client side package consisting of 17 classes to support client/server or stand alone GUI applications. Among classes are:
  • ACApp - class that runs based on the ACIni initialization in either GUI or non-GUI mode.
  • ACClient - used to support asynchronious data trasfer between an interface client and a server.
  • ACOrbAdapter - class running at the client side to exercise ACOrb exchange between Server and Client; Accepts ACOrb and routes it to the proper client listener or sends to the proper server.
  • ACOrbWrap used to wrap around ACOrb on a client side to store data about who sent the ACOrb, why and to which ACServerDefinition;

Package Compile Dependences: NONE

wnd.tools.dbo
Package to facilitate database manipulation. Includes 12 classes among which are:
  • DBConn - for opening connection pool to a single database used by the application;
  • DBEntry - used to store basic db record values in String form to be used later to load (or extract) to the db. Extensions of this class include DBEntryFile and DBEntryXML;
  • DBLoadRecord - loads record to the database as a new one or updates an existing based on the supplied key;
  • DBPrepStmt - designed to facilitate SQL generation and communication with the database;
  • DBRC - stores column data which are either extracted or are to be assigned to the specific record column in the database. Includes data types;
  • DBRR - used for the easier access to each row of the SQL generated Result set.

Package Compile Dependences: NONE

wnd.tools.ext
Includes 4 classes that heavily depend on outside packages. L4J.java and L4Jtest .java used for log4j logging,XParms used for processing and manipulating of XML documents and ACSpeechTab.java used in QUICK App for speech from text synthesizer. The ACSpeech Tab requires FreeTTS 1.2 libraries

Package Compile Dependences: Apache Xerces XML parser and Apache log4j and http://freetts.sourceforge.net/docs/index.php (FreeTTS 1.2)

wnd.tools.gui
Package to facilitate GUI design. Includes 80+ classes, among which are:
  • ACBigGrid - grid table that supports loading of large number of rows, sorting by columns, changing column width etc;
  • Many static dialog boxes, e.g. ACDlgMsg, ACDlgYesNo, ACDlgGetString, ACDlgTextArea, ACGridFrame, ACAnimatedWait (keeps "running" dots), so that user knows that application is doing somehting, etc.
  • ACFrameController - This class plugs itself into application to ensures that modal dialog boxes are always displayed on the top of the screen when application is switched from inactive to active status and not lost behind other application screens, which sometimes happens when user switches between various applications running on his/her computer by using keyboard or selecting them from the taskbar programs selection. The lost modal dialog box created an impression that application is frozen. So to solve that problem this class was written.
  • ACImageToJavaConverter - if application uses small images this class converts .gif files to java source class, so that image can be accessed as java class. Attaching image files in their native form (*.gif, etc) sometimes creates problem of finding path to them during runtime so this class was written to resolve that issue;
  • ACServerTab - GUI Component class running on a server side to display clients currently connected to this server;
  • ACClientTab - GUI Component class running on a client side to display data received from the server;
  • ACTabFrame - extension of JFrame for Tabbed GUI applications;
  • ACSplash - window to display on Application start up while other data and components are loading;
  • Classes that are extensions of the standard awt and swing componets, but have extra capabilities, e.g. assigning object for each row of the Choice or List: ACChoice, ACJList,ACList, ACTreeModel (extends DefaultTreeModel)

Package Compile Dependences: NONE

wnd.tools.lang.cob

This package consists of only one class CobolWords.java with three static methods:

  • public static boolean isCobolReservedWord(String sWord) to return true if word is a reserved one;
  • public static HashSet getWordSet() returns HashSet with reserved Cobol words;
  • public static String[] getWordList() returns String[] with reserved Cobol words;

(Note: commercial packages include Cobol parsing engines, JULES Cobol execution platform to migrate from Mainframe to Windows OS, analysis tools and debugging animator. For more info please see AltCode project details or the dedicated web site at www.altcode.com);

Package Compile Dependences: NONE

wnd.star.lang.jsp

wnd.star.lang.plsql

wnd.star.lang.rtf

wnd.star.lang.java

Those packages contain parsers written in JavaCC and used for cross reference tasks where various level of parsing of such languages as java, jsp, plsql, rtf might be required.

Package Compile Dependences: NONE

wnd.star.lang.vsam
This package includes fully functional VSAM parser written in JavaCC (JavaCC source is also included into the free srouce distribution). It consists of 55 classes, most of which represent corresponding Vsam Statements (e.g. IfStmt,FileStmt,NullifyStmt etc.) and inherit from the VsamStmt class.

VsamTest class provides sample main() function to run through the submitted file as following:

Extract:

String[] oLines = UT.fileAsStrings(sFile);
VsamParse oVParse = new VsamParse(oLines);
oVParse.parsePgm();
ArrayList oA = oVParse.getStmts();
L("Got <"+oA.size()+"> statements");
for(int i=0,iMax=oA.size(); i<iMax; i++) {
VsamStmt oV = (VsamStmt)oA.get(i);
//if (oV.getType() == 5) doClusterParmTest(oV);
L("Type="+oV.decodeStmtInx(oV.getType())+",Line="+oV.getStartLine());
Package Compile Dependences: NONE
wnd.tools.server
Package for the server side of data communication and exchange. It includes 5 classes:
  • ACServer the major class of this package. Can run in String or Object mode of data exchange. Supports custom DataProcessor and capable of SelfRepairLocks in case of ThreadDeath exception during run.
  • ACConnection extends Thread and ensures multiple clients connections to the ACServer;
  • ACOrbProcessor interface with 2 methods to ensure ACServer data exchange:
    • public ACOrb processOrb(ACOrb oOrb) throws Exception;
    • public void reportError(String sE, ACOrb oOrb) throws Exception ;
  • ACProcessor implementation of the ACOrbProcessor interface;
  • ACServerConnectionListener interface with 2 methods to track connection state:
    • public void connectionSet(ACConnection oAC);
    • public void connectionRemoved(ACConnection oAC);

Package Compile Dependences: NONE

wnd.tools.orb
This package is extensively used in server/client communication models. This package is designed to be used in conjunction with classes of wnd.tools.server and wnd.tools.client packages to provide powerful framework for seamless data exchange and method invocation on both sides.
  • ACOrb - is the top class from which custom classes can inherit to be accepted by the client and server.
    It inlcudes such methods as:
    • public final void setID(String sID){this.sID = sID;};
    • public final String getID(){return sID;};
    • public final void setResponseMethod(String sRespMeth);
    • public final String getResponseMethod(){return sRespMeth;};
    • public final String getRequestMethod() {return sReqMeth;};
    • public final void setRequestMethod(String sReqMeth){
    • public final boolean getErrorFlag() {return bError;}
    • public final String getMessage() {return sMsg;}

  • ACOrbFirst - essentially an empty class inherited from the ACOrb. It is sent first to the server to confirm that connection was successfully established;
  • ACOrbDock interface - used to turn around ACOrb instance type classes between server/client;
    • public void acceptOrb(ACOrb oS) throws Exception;
    • public void reportError(String sError,ACOrb oOrb) throws Exception;

Package Compile Dependences: NONE

wnd.star.web.app
Package extensively used in designing database driven web based applications.

Sample: www.TheFifthAnimal.com fully written using this architecture.

Selected classes:

  • GenHtml - used to generate java classes from the html code. It takes .html file and generates a java source code, while doing so creating a special Token map from the meaningful tokens. This map later is used by the web engine to accelerate line replacement by token indeces. Tokens are identified by "[[" as a lead and "]]" as the end.
  • GenMail - class used to send emails. Supports authorization.
Package Compile Dependences: mail.jar and activation.jar from Sun Microsystems.
wnd.star.web.service
  • PRouter - used to determine required service and route to the appropriate processor;
  • PAGESMAP - abstract class for matching services to the generated java classes representing template HTML pages;
  • GHTML - abstract class serving as a parent for generated java class representing template HTML code;
  • GOPAGE - abstract class that is child of the SVC and implements Service interface used by WServer to process requests. It takes template pages of GHTML type to substitute tokens and generate final page displayed to the web user;
  • DBInitializer - interface to be used if custom database connection class from 3rd parties is required.
  • ENG - supplies some language specific strings for choice boxes, e.g Provinces, States,Countries, Language etc.;

Sample: www.TheFifthAnimal.com fully written using this architecture.

Selected classes:

Package extensively used in designing database driven web based applications.

Package Compile Dependences: servlet-api.jar supplied with the Tomcat installation.

wnd.stat.web.servlet
  • WServer - extends HttpServlet and provides functionality of such methods as
    • initDB() for database initialization,
    • initApp() for Application specific initialization through instance of WInitApp type class;
    • doGet()
    • doPost()
  • WInitApp - interface with 2 methods that support specific Application initialization and exit:
    • public void initApp(ServletConfig oCfg) throws Exception;
    • public void exitApp() throws Exception;
  • WL - class containing various static methods to extract request parms and provide logging;
  • HL - class to generate various standard HTML elements, e.g. rows, tables, images, choices, radio buttons etc;
  • HRow- class used when design of a customized table row is needed: supports distinctive cells, testing for values, multiple colours and fonts;

Sample: www.TheFifthAnimal.com fully written using this architecture.

Selected classes:

Package extensively used in designing database driven web based applications.

Package Compile Dependences: servlet-api.jar supplied with the Tomcat installation.