home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-08-14 | 19.9 KB | 624 lines |
- /*---------------------------------------------------------------------------
-
- Written by the Personal Journal developers of Dow Jones & Company, Inc.
-
- Dow Jones makes no representations or warranties about
- the suitability of this software, either express or
- implied, including but not limited to the implied warranties
- of merchantability, fitness for a particular purpose,
- or non-infringement. Dow Jones will not be liable for
- any damages suffered by a user as a result of using,
- modifying or distributing this software or its derivatives.
-
-
- @(#)PjNbSpec.java 0.00 10-Dec-1995
-
- A specification of the Personal Journal notebook.
-
-
- Authors:
-
- rphall Rick Hall
- lning Lindee Ning
-
- Version Ident:
-
- $Header: /PjJavaClient/src/pj/awt/PjNbSpec.java 7 3/22/96 11:53p Jlee $
-
-
- History:
-
- 10-dec-1995 rphall Initial Creation
- 09-Mar-1996 lning Added stuff needed for menu
- 27-Mar-1996 jlee Replaced "&" in menu text with "and"
-
- ---------------------------------------------------------------------------*/
-
- package pj.awt;
-
- import pj.awt.Notebook;
- import pj.awt.PjPageSpec;
- import pj.awt.TabSpec;
- import pj.io.Paper;
-
- import collections.Assertable;
- import collections.ImplementationCheckable;
- import collections.ImplementationError;
-
- import java.lang.String;
- import java.util.Vector;
-
- class PjStr
- {
-
- // --- Class variables
-
- /** Front Page headlines */
- public static final String pageFPHdlines = "100";
-
- /** Front page Business and Finance */
- public static final String pageFPBusFin = Paper.idFPBusFin;
-
- /** Front page World-Wide */
- public static final String pageFPWorld = Paper.idFPWorld;
-
- /** Front page Personal News */
- public static final String pageFPNews = Paper.idFPNews;
-
- /** Front page News Flash */
- public static final String pageFPFlash = Paper.idFPFlash;
-
- /** TJI headlines */
- public static final String pageTJIHdlines = "200";
-
- /** TJI Business and Finance */
- public static final String pageTJIBusFin = Paper.idTJIBusFin;
-
- /** TJI World-Wide */
- public static final String pageTJIWorld = Paper.idTJIWorld;
-
- /** TJI Personal News */
- public static final String pageTJINews = Paper.idTJINews;
-
- /** Markets Stock Indices and Dow Jones IA */
- public static final String pageMrk = Paper.idMrkStkIdx + Paper.idMrkDjia;
-
- /** Markets Exchange Rates and Markets Treasuries */
- public static final String pageMrkExTrs = Paper.idMrkExch + Paper.idMrkTreas;
-
- /** Markets Wrapup */
- public static final String pageMrkWrap = Paper.idMrkWrap;
-
- /** Portfolio page */
- public static final String pagePort = "300";
-
- /** Sports Highlights */
- public static final String pageSpHilite = Paper.idSpHilite;
-
- /** Sports Scores and Advertisement */
- public static final String pageSpScoresAd = Paper.idSpScores + Paper.idSpAd;
-
- /** Weather Map and Advertisement */
- public static final String pageWth = "600" + Paper.idWthAd;
-
- /** Weather US Northeast */
- public static final String pageWthUSNE = Paper.idWthUSNE;
-
- /** Weather US Southeast */
- public static final String pageWthUSSE = Paper.idWthUSSE;
-
- /** Weather US Midwest */
- public static final String pageWthUSMW = Paper.idWthUSMW;
-
- /** Weather US West */
- public static final String pageWthUSWest = Paper.idWthUSWest;
-
- /** Weather Canada */
- public static final String pageWthCanada = Paper.idWthCanada;
-
- /** Weather South America */
- public static final String pageWthSouthA = Paper.idWthSouthA;
-
- /** Weather Europe */
- public static final String pageWthEurope = Paper.idWthEurope;
-
- /** Weather Mid-East */
- public static final String pageWthMidE = Paper.idWthMidE;
-
- /** Weather Africa */
- public static final String pageWthAfrica = Paper.idWthAfrica;
-
- /** Weather Asia */
- public static final String pageWthAsia = Paper.idWthAsia;
-
-
- /** Front Page tab */
- public static final String tabFP = pageFPHdlines;
- public static final String tabstrFP = "Front Page";
-
- /** TJI tab */
- public static final String tabTJI = pageTJIHdlines;
- public static final String tabstrTJI = "This Just In";
-
- /** Portfolio tab */
- public static final String tabPort = pagePort;
- public static final String tabstrPort = "Portfolio";
-
- /** Markets tab */
- public static final String tabMrk = pageMrk;
- public static final String tabstrMrk = "Markets";
-
- /** Sports tab */
- public static final String tabSp = pageSpHilite;
- public static final String tabstrSp = "Sports";
-
- /** Weather tab */
- public static final String tabWth = pageWth;
- public static final String tabstrWth = "Weather";
-
-
-
- /** Front Page menuitem */
- public static final String menuFP = pageFPHdlines;
- public static final String menustrFP = "Front Page";
-
- /** TJI menuitem */
- public static final String menuTJI = pageTJIHdlines;
- public static final String menustrTJI = "This Just In";
-
- /** Portfolio menuitem */
- public static final String menuPort = pagePort;
- public static final String menustrPort = "Portfolio";
-
- /** Markets menuitem */
- public static final String menuMrk = pageMrk;
- public static final String menustrMrk = "Markets";
-
- /** Sports menuitem */
- public static final String menuSp = pageSpHilite;
- public static final String menustrSp = "Sports";
-
- /** Weather menuitem */
- public static final String menuWth = pageWth;
- public static final String menustrWth = "Weather";
-
-
- /** Front Page submenuitem */
- public static final String submenuFPF = pageFPHdlines;
- public static final String submenustrFPF = "Front Page";
-
- public static final String submenuFPB = pageFPBusFin;
- public static final String submenustrFPB = "Business and Finance";
-
- public static final String submenuFPW = pageFPWorld;
- public static final String submenustrFPW = "World-Wide";
-
- public static final String submenuFPP = pageFPNews;
- public static final String submenustrFPP = "Personal News";
-
- /** TJI submenuitem */
- public static final String submenuTJIF = pageTJIHdlines;
- public static final String submenustrTJIF = "Front Page";
-
- public static final String submenuTJIB = pageTJIBusFin;
- public static final String submenustrTJIB = "Business and Finance";
-
- public static final String submenuTJIW = pageTJIWorld;
- public static final String submenustrTJIW = "World-Wide";
-
- public static final String submenuTJIP = pageTJINews;
- public static final String submenustrTJIP = "Personal News";
-
- /** Markets submenuitem */
- public static final String submenuMrkS = pageMrk;
- public static final String submenustrMrkS = "Stock Indexes";
-
- public static final String submenuMrkC = pageMrkExTrs;
- public static final String submenustrMrkC = "Currencies and Bonds";
-
- public static final String submenuMrkM = pageMrkWrap;
- public static final String submenustrMrkM = "Market News";
-
- /** Sports submenuitem */
- public static final String submenuSpS = pageSpScoresAd;
- public static final String submenustrSpS = "Scoreboard";
-
- public static final String submenuSpH = pageSpHilite;
- public static final String submenustrSpH = "Highlights";
-
- /** Weather submenuitem */
- public static final String submenuWthP = pageWth;
- public static final String submenustrWthP = "Map";
-
- public static final String submenuWthF = pageWthAfrica;
- public static final String submenustrWthF = "Africa";
-
- public static final String submenuWthA = pageWthAsia;
- public static final String submenustrWthA = "Asia/Australia";
-
- public static final String submenuWthC = pageWthCanada;
- public static final String submenustrWthC = "canada";
-
- public static final String submenuWthE = pageWthEurope;
- public static final String submenustrWthE = "Europe";
-
- public static final String submenuWthI = pageWthMidE;
- public static final String submenustrWthI = "Middle East";
-
- public static final String submenuWthB = pageWthSouthA;
- public static final String submenustrWthB = "South America/Caribbean";
-
- public static final String submenuWthM = pageWthUSMW;
- public static final String submenustrWthM = "U.S.Middle";
-
- public static final String submenuWthN = pageWthUSNE;
- public static final String submenustrWthN = "U.S.Northeast";
-
- public static final String submenuWthS = pageWthUSSE;
- public static final String submenustrWthS = "U.S.Southeast";
-
- public static final String submenuWthW = pageWthUSWest;
- public static final String submenustrWthW = "U.S.West";
-
-
- } // PjStr
-
- /**
- * A specification of the Personal Journal notebook.
- *
- * @see pj.io.Paper
- * @see pj.awt.Notebook
- * @see pj.awt.PjPageSpec
- * @version 0.00 01-Jan-96
- * @author rphall
- */
- public class PjNbSpec implements Assertable, ImplementationCheckable
- {
-
-
- // --- Class variables
-
- /** Front Page headlines */
- public static final int idxFPHdlines = 0;
-
- /** Front Page Business and Finance */
- public static final int idxFPBusFin = 1;
-
- /** Front Page World-Wide */
- public static final int idxFPWorld = 2;
-
- /** Front Page Personal News */
- public static final int idxFPNews = 3;
-
- /** Front Page News Flash */
- public static final int idxFPFlash = 4;
-
- /** TJI headlines */
- public static final int idxTJIHdlines = 5;
-
- /** TJI Business and Finance */
- public static final int idxTJIBusFin = 6;
-
- /** TJI World-Wide */
- public static final int idxTJIWorld = 7;
-
- /** TJI Personal News */
- public static final int idxTJINews = 8;
-
- /** Markets Stock Indices and Dow Jones IA */
- public static final int idxMrk = 9;
-
- /** Markets Exchange Rates and Markets Treasuries */
- public static final int idxMrkExTrs = 10;
-
- /** Markets Wrapup */
- public static final int idxMrkWrap = 11;
-
- /** Portfolio idx */
- public static final int idxPort = 12;
-
- /** Sports Highlights */
- public static final int idxSpHilite = 13;
-
- /** Sports Scores and Advertisement */
- public static final int idxSpScoresAd = 14;
-
-
- /** Weather Map and Advertisement */
- public static final int idxWth = 15;
-
- /** Weather US Northeast */
- public static final int idxWthUSNE = 16;
-
- /** Weather US Southeast */
- public static final int idxWthUSSE = 17;
-
- /** Weather US Midwest */
- public static final int idxWthUSMW = 18;
-
- /** Weather US West */
- public static final int idxWthUSWest = 19;
-
- /** Weather Canada */
- public static final int idxWthCanada = 20;
-
- /** Weather South America */
- public static final int idxWthSouthA = 21;
-
- /** Weather Europe */
- public static final int idxWthEurope = 22;
-
- /** Weather Mid-East */
- public static final int idxWthMidE = 23;
-
- /** Weather Africa */
- public static final int idxWthAfrica = 24;
-
- /** Weather Asia */
- public static final int idxWthAsia = 25;
-
- /**
- * An array of page names arranged in the order that the
- * Personal Journal notebook is laid out.
- */
- public static final String[] pagename =
- {
- PjStr.pageFPHdlines, PjStr.pageFPBusFin, PjStr.pageFPWorld, PjStr.pageFPNews,
- PjStr.pageFPFlash, PjStr.pageTJIHdlines,PjStr.pageTJIBusFin, PjStr.pageTJIWorld,
- PjStr.pageTJINews, PjStr.pageMrk, PjStr.pageMrkExTrs,
- PjStr.pageMrkWrap, PjStr.pagePort, PjStr.pageSpHilite, PjStr.pageSpScoresAd,PjStr.pageWth,
- PjStr.pageWthUSNE, PjStr.pageWthUSSE, PjStr.pageWthUSMW, PjStr.pageWthUSWest,
- PjStr.pageWthCanada, PjStr.pageWthSouthA, PjStr.pageWthEurope, PjStr.pageWthMidE,
- PjStr.pageWthAfrica, PjStr.pageWthAsia
- };
-
- public static final String[] menuname =
- {
- PjStr.submenuFPF, PjStr.submenuFPB, PjStr.submenuFPW, PjStr.submenuFPP,
- PjStr.submenuTJIF, PjStr.submenuTJIB, PjStr.submenuTJIW, PjStr.submenuTJIP,
- PjStr.submenuMrkS, PjStr.submenuMrkC, PjStr.submenuMrkM,
- PjStr.submenuSpH, PjStr.submenuSpS,
- PjStr.submenuWthF, PjStr.submenuWthA,
- PjStr.submenuWthC, PjStr.submenuWthE, PjStr.submenuWthI,
- PjStr.submenuWthB, PjStr.submenuWthM, PjStr.submenuWthN,
- PjStr.submenuWthS, PjStr.submenuWthW
- };
-
-
- public static final String[] menutosection =
- {
- "Headlines", "Business and Finance", "World-Wide", "Personal News",
- "Headlines", "Business and Finance", "World-Wide", "Personal News",
- "Stock Indexes", "Currencies and Bonds", "Market News",
- "Scores", "Highlights",
- "Africa", "Asia/Australia", "Canada",
- "Europe", "Middle East", "South America/Caribbean",
- "U.S. Middle", "U.S. Northeast", "U.S. Southeast", "U.S. West"
- };
-
-
- public static final String[] mainmenustring =
- {
- PjStr.menustrFP, PjStr.menustrTJI, PjStr.menustrMrk,
- PjStr.menustrPort, PjStr.menustrSp, PjStr.menustrWth
-
- };
-
- public static final String[] mainmenuname =
- {
- PjStr.menuFP, PjStr.menuTJI, PjStr.menuMrk,
- PjStr.menuPort, PjStr.menuSp, PjStr.menuWth
-
- };
-
-
- public String[][] substrings =
- {
- subFPstring, subTJIstring, subMKstring,
- null, subSPstring, subWTstring
-
- };
-
- public String[][] subnames =
- {
- subFPname, subTJIname, subMKname,
- null, subSPname, subWTname
-
- };
-
-
- public static final String[] subFPstring =
- {
- PjStr.submenustrFPF, PjStr.submenustrFPB,
- PjStr.submenustrFPW, PjStr.submenustrFPP
-
- };
-
- public static final String[] subFPname =
- {
- PjStr.submenuFPF, PjStr.submenuFPB,
- PjStr.submenuFPW, PjStr.submenuFPP
-
- };
-
- public static final String[] subTJIstring =
- {
- PjStr.submenustrTJIF, PjStr.submenustrTJIB,
- PjStr.submenustrTJIW, PjStr.submenustrTJIP
-
- };
-
- public static final String[] subTJIname =
- {
- PjStr.submenuTJIF, PjStr.submenuTJIB,
- PjStr.submenuTJIW, PjStr.submenuTJIP
-
- };
-
- public static final String[] subMKstring =
- {
- PjStr.submenustrMrkS, PjStr.submenustrMrkC,
- PjStr.submenustrMrkM
-
- };
-
- public static final String[] subMKname =
- {
- PjStr.submenuMrkS, PjStr.submenuMrkC,
- PjStr.submenuMrkM
-
- };
-
- public static final String[] subSPstring =
- {
- PjStr.submenustrSpS, PjStr.submenustrSpH
-
- };
-
- public static final String[] subSPname =
- {
- PjStr.submenuSpH, PjStr.submenuSpS
-
- };
-
- public static final String[] subWTstring =
- {
- PjStr.submenustrWthP, PjStr.submenustrWthF, PjStr.submenustrWthA,
- PjStr.submenustrWthC, PjStr.submenustrWthE, PjStr.submenustrWthI,
- PjStr.submenustrWthB, PjStr.submenustrWthM, PjStr.submenustrWthN,
- PjStr.submenustrWthS, PjStr.submenustrWthW
-
- };
- public static final String[] subWTname =
- {
- PjStr.submenuWthP, PjStr.submenuWthF, PjStr.submenuWthA,
- PjStr.submenuWthC, PjStr.submenuWthE, PjStr.submenuWthI,
- PjStr.submenuWthB, PjStr.submenuWthM, PjStr.submenuWthN,
- PjStr.submenuWthS, PjStr.submenuWthW
-
- };
-
-
-
- private static final String[] tabname =
- {
- PjStr.tabFP, null, null, null,
- null, PjStr.tabTJI, null, null,
- null, PjStr.tabMrk, null,
- null, PjStr.tabPort, PjStr.tabSp, null, PjStr.tabWth,
- null, null, null, null,
- null, null, null, null,
- null, null
- };
-
- private static final String[] tabstring =
- {
- PjStr.tabstrFP, null, null, null,
- null, PjStr.tabstrTJI, null, null,
- null, PjStr.tabstrMrk, null,
- null, PjStr.tabstrPort, PjStr.tabstrSp, null, PjStr.tabstrWth,
- null, null, null, null,
- null, null, null, null,
- null, null
- };
-
- private static PjPageSpec[] pagespec = null;
-
-
- // --- Public constructors
- /**
- * Constructs a notebook specification.
- */
- public PjNbSpec()
- {
-
- if (pagespec == null)
- {
- // Preconditions
- assert(pagename.length == tabname.length);
- assert(pagename.length == tabstring.length);
-
- for (int i=0; i<tabstring.length; i++)
- {
- if (tabstring[i] == null) assert( tabname[i] == null);
- if ( tabname[i] == null) assert(tabstring[i] == null);
- }
-
- StringTabSpec ts;
- PjPageSpec ps;
- Vector v = new Vector();
-
- for (int i=0; i<pagename.length; i++ )
- {
- ts = null;
- if (tabname[i] != null)
- ts=new StringTabSpec(tabname[i],pagename[i],tabstring[i]);
-
- ps = new PjPageSpec(pagename[i],ts,null);
- v.addElement(ps);
- }
-
- pagespec = new PjPageSpec[pagename.length];
- for (int i=0; i<pagename.length; i++)
- pagespec[i] = (PjPageSpec)v.elementAt(i);
-
- } // if pagespec null
-
- // Postconditions
- checkImplementation();
-
- System.out.println("Debug-PjNbSpec:constructed");
- } // PjNbSpec()
-
-
-
- // --- Public operations
-
- /**
- * Check the internal consistency of a specification.
- * @exception ImplementationError thrown if there are
- * an incorrect number of page specifications; if any
- * page specification is null; or if any tab specification
- * is inconsistent.
- */
- public void checkImplementation() throws ImplementationError
- {
- assert(pagespec != null);
- assert(pagespec.length == pagename.length);
-
- for (int i=0; i<pagespec.length; i++)
- {
- assert(pagespec[i] != null);
- if (pagespec[i].tabspec != null)
- {
- if (pagespec[i].tabspec.strTabName == null)
- assert( pagespec[i].tabspec.objVisSpec == null);
- else
- assert( pagespec[i].tabspec.objVisSpec != null);
- }
-
- } // for pagespec.length
- assert(pagespec.length == idxWthAsia+1);
-
- } // checkImplementation()
-
- /**
- * Raise an exception if predicate is false.
- * @see collections.Assertable
- */
- public void assert(boolean predicate) throws ImplementationError
- {
- ImplementationError.assert(this, predicate);
- }
-
- /**
- * @return An array of page specifications arranged in the order
- * in which they should appear.
- */
- public PjPageSpec[] pagespecs()
- {
- return pagespec;
- }
-
- } // PjNbSpec
-