info.aduna.gee.publication.ui.navigator
Class Navigator

java.lang.Object
  extended by info.aduna.gee.publication.ui.navigator.Navigator
All Implemented Interfaces:
EntryConstants, LocalNames, FileNames, IOListener, ButtonNames, HelpNames, MagicianNames

public class Navigator
extends Object
implements ButtonNames, EntryConstants, FileNames, HelpNames, IOListener, MagicianNames, LocalNames

The ZPad Navigator.

 Tasks of the Navigator:
                - Set the HTML page in the ZPad applet that is to be
                  shown in the Browser Window.
                - Methods of the Navigator will be used by the ZPad applet as a reaction
                  on an action in the Browser Window. Those actions use
                  JavaScript to call a method of the ZPad applet.
                - Start/stop Magicians.
                - Show Feedback set by any Button within the Navigator.
                - It acts as an intermediate for Sheets in order to:
                        By methods:
                                - get the Database.
                                - store the Database.
                                - get the Section Names.
                        By public variables:
                                - have an inputHandler.
                                - have an outputHandler.
                                - have a buttonFactory.
                                - have a session.
 


Field Summary
protected  Section _currentSection
           
protected  Object _currentSectionID
          Information about the current Section that is showing.
protected  int _currentSectionPage
           
protected  MultiLevelExpiringCache _getChildrenCache
           
protected  int _initializationLevel
          The Zpad is still initializing if _initializationLevel < 2.
protected  int _lastLoginCount
          If you log in, not only your own outputhandler will report it, but all of your (implicit) subscriptions too.
protected  long _lastSheetOpenClickTime
          The time of the last click that opened a sheet -- for implementation of Double Click
protected  Vector _theLimitedSectionTree
           
protected  Vector _theSectionNames
          The sections
protected  Vector _theSectionTree
           
protected  ZPadBrowser _zpadBrowser
          The ZPadBrowser that I am working for.
 String coverName
          The Cover's name, used for Cover specific storage of information.
 Entry entryControlV
           
 Generator generator
          The Generator I can use -- or manipulate in Meta Mode
 InputHandler inputHandler
          Input from the User Location
 OutputHandler outputHandler
          Output to the User Location
 String serverName
          The mixed-case server name as used by the user.
 Session session
          The Session that I am in.
 String targetName
          The name to be used for "target" windows -- unique PER Navigator, not a static! it may contain "_top", "_blank" or a unique name.
 String userName
          The mixed-case user name as used by the user.
 String userType
          The applet type that is currently running.
 
Fields inherited from interface info.aduna.gee.publication.ui.ButtonNames
ADD, ADD_ALIAS, ADVANCED, ALLBUTTONS, ALLICONS, APPLET_ENTRY, ASSOCIATES_MAY_NOT_EDIT, BACK, BACKUP, BOTTOM, BUTTONCOLS, BUTTONROWS, CANCEL, CATEGORIES, CLABELS, CLEAR, COPY, COVER_OPTIONS, COVER_SECTIONS, COVERBUTTONS, DATE, DATE_SECTIONS, DELETE, DESCRIPTION, DESTINATION, DOWN, EDIT, EDIT_CLABELS, EDIT_COVER, EDIT_ENTRIES, EDIT_PRIVACY, EDIT_PRIVACY_GROUPS, EDIT_SECTION, EDIT_SUBSCRIPTION, EMBED_ENTRY, ENTRY_FROM_CLIPBOARD, ENTRY_TO_CLIPBOARD, ENTRYPROPS, EXPIRATION_DATE, EXTERNAL_SECTIONS, FAST_BACK, FAST_NEXT, FIND, FINISH, HTML_ENTRY, ICONCOLS, ICONROWS, IMAGE_ENTRY, IMPORT_ENTRY, INHERIT_CLABELS, INHERIT_PRIVACY_GROUPS, INSPIRATION_DATE, LINK, LOCK, MOVE, NEXT, OBJECT_ENTRY, PERSONALIZE, PL0, PL1, PL2, PL3, PL4, PLUS_ASSOCIATES, PROVIDE, RECREATE_ENTRY, RECURSIVE_SUBSCRIPTION, REMANUAL, REMOVE_ALIAS, REMOVE_FILE, REMOVE_IMAGE, REPEAT, REPROVIDE, RESTORE, SAVE, SECTIONS, SELECT_COVER, SELECT_VISITED, SET_COLORS, SHOP_LINK, START_SECTION, STATISTICS, SUBSCRIPTIONS, SUMMARY, TEXT_ENTRY, TIME, TMPL_ENTRY, TMPLD_ENTRY, TODAY, TOOLS, TOP, TRANSPARENT, UNDO, UNKNOWN_TARGET_BUTTON, UNLOCK, UP, UPLOAD_FILE, UPLOAD_IMAGE, USER_SECTIONS
 
Fields inherited from interface info.aduna.gee.publication.content.EntryConstants
ACLS_PREFIX, AFTER_TRANSFER, APPLET_TYPE_VALUE, ASSOCIATES_EDIT_LEVEL, BEFORE_STORAGE, BEFORE_TRANSFER, CODE_KEY, CODEBASE_KEY, CONSTRUCTION_KEY, CONTAINER_TTL_KEY, CONTAINERID_KEY, CONTAINERPROPS_KEY, DBPRIVACY_LEVEL_KEY, DESCRIPTION_KEY, EMBED_TYPE_VALUE, END_TIME_KEY, ENTRY_ID_KEY, ENTRYATTRIBS_KEY, ENTRYPARAMS_KEY, ENTRYPROPS_KEY, EXPIRES_KEY, EXTERNAL_ENTRY_KEY, HEIGHT_KEY, HTML_KEY, HTML_TYPE_VALUE, ID2IDID_KEY, IMAGE_TYPE_VALUE, IMPORT_CLASSNAME, IMPORT_DONT_FORWARD, IMPORT_IMPORTED, IMPORT_LANGUAGE, IMPORT_SERVER_NAME, IMPORT_TYPE_VALUE, INFO_EXTENSION, INHERIT_CONFIGURATION, INLINE_DESCRIPTION_IS_HTML_KEY, INLINE_DESCRIPTION_KEY, INSPIRES_KEY, JIT_DESTINATION, JIT_DESTINATION_INDEX, LINK_IN_FRAME_KEY, LINK_KEY, MANUAL_KEY, MINIMALHEIGHT_KEY, MINIMALWIDTH_KEY, NAVIGATION_KEY, OBJECT_TYPE_VALUE, OCCURRING_CLABELS_KEY, OVERRIDE_SUGGESTION_KEY, PRIVACY_LEVEL_KEY, PROVIDE_KEY, PROVIDE_PL_KEY, QUALIFIED_BASE_KEY, RE_EXPORT_KEY, RE_MANUAL_KEY, REPEAT_ID_KEY, REPEAT_TODAY_KEY, REQUIRES_NEW_PAGE, ROTATABLE_KEY, SHARED_CLABELS_KEY, SHOP_GIF_KEY, SHOP_GIF_LOCATION_KEY, SHOP_ID_KEY, SHOP_ORIGIN_KEY, SHOP_OVER_GIF_KEY, SORT_CLABELS, SORT_DESCRIPTION, SOURCE_KEY, STARTSECTION_KEY, SUBSCRIBED_COLOR_KEY, SUBSCRIBED_GIF_KEY, SUBSCRIBED_GIF_LOCATION_KEY, SUBSCRIBED_OVER_GIF_KEY, SUBSCRIBED_VISIBLE_CLABELS_KEY, SUBSCRIPTION_KEY, SUBSCRIPTION_LINK_KEY, SUGGESTION_KEY, SUMMARY_IS_HTML_KEY, SUMMARY_KEY, SUMMARY_TYPE_VALUE, TEMPLATEPREFERENCES_KEY, TEXT_KEY, TEXT_TYPE_VALUE, TIME_KEY, TMPL_DESCRIPTOR_KEY, TMPL_FOREIGN_ID_KEY, TMPL_ID_KEY, TMPL_PREFERENCES_KEY, TMPL_STUB_RECOGNIZER_KEY, TMPLD_TYPE_VALUE, TYPE_KEY, WIDTH_KEY
 
Fields inherited from interface info.aduna.gee.publication.net.FileNames
ASA_FILE_NAME, BAK_FILE_NAME, CAT_FILE_NAME, CFG_FILE_NAME, CHS_FILE_NAME, DAT_FILE_NAME, HLP_FILE_NAME, LOCAL_FILE_PREFIX, SBS_FILE_NAME, SSS_FILE_NAME, WIF_FILE_NAME
 
Fields inherited from interface info.aduna.gee.publication.ui.HelpNames
HELP_ACLLISTSHEET, HELP_ACLSSHEET, HELP_ADDENTRYSHEET, HELP_ADDSECTIONSHEET, HELP_ADVANCEDSHEET, HELP_ADVANCEDSHEET_PROVIDER, HELP_APPLETENTRYSHEET, HELP_BATCHSHEET, HELP_BUTTONPARADESHEET, HELP_CLABELDEFINITIONSHEET, HELP_CLABELSELECTIONSHEET, HELP_CONFIRMBATCHSHEET, HELP_CONFIRMSHEET, HELP_DATESHEET, HELP_DATESPECSHEET, HELP_DESTINATIONSHEET, HELP_ENTRYPROPSSHEET, HELP_ENTRYSHEET, HELP_FINDSHEET, HELP_FOLLOWLINKSHEET, HELP_HTMLENTRYSHEET, HELP_IMAGEENTRYSHEET, HELP_LISTSELECTSHEET, HELP_LISTSHEET, HELP_LISTSHEETOWNER, HELP_MANIPULATEBOXSHEET, HELP_MANIPULATEPOSITIONSHEET, HELP_MANIPULATESECTIONSHEET, HELP_MANIPULATESPOTSHEET, HELP_MANIPULATETEMPLATESSHEET, HELP_METASHEET, HELP_MOVEENTRYSHEET, HELP_NAVIGATOR, HELP_NAVIGATOR_OWNER, HELP_NAVIGATOR_OWNER_COVERBUILDER, HELP_NOHELP, HELP_OBJECTENTRYSHEET, HELP_PARAMATTRIBSHEET, HELP_PROVIDERSHEET, HELP_REPEATSHEET, HELP_SCRIBBLESHEET, HELP_SELECTPLSHEET, HELP_SELECTSECTIONSHEET, HELP_SETCOLORSSHEET, HELP_SETFRAMESHEET, HELP_SETHTMLSHEET, HELP_SETPLSHEET, HELP_SHOWRESULTSHEET, HELP_SUBSCRIPTIONSSHEET, HELP_TEMPLATESHEET, HELP_TEXTENTRYSHEET
 
Fields inherited from interface info.aduna.gee.publication.net.IOListener
CACHE_UPDATE, LOGIN_ADDED, PASSWORD_ERROR, QUEUE_UPDATE, SHOW_OBJECT, STORE_DONE, STORE_STARTED
 
Fields inherited from interface info.aduna.gee.publication.ui.magician.MagicianNames
ACTIVE, BACK_EVENT, BRANCH, BRANCH_EVENT, CANCEL_EVENT, DEFEEDBACK_EVENT, FEEDBACK_EVENT, FINISH_EVENT, INACTIVE, INVISIBLE, MBACK, MCANCEL, MFINISH, MFINISH_FAILED, MNEXT, REBUTTON_EVENT, STEM
 
Fields inherited from interface info.aduna.gee.publication.LocalNames
AM, APRIL, AUGUST, BUTTON_ADD, BUTTON_ASSOCIATES_MAY_NOT_EDIT, BUTTON_BACKUP, BUTTON_BOTTOM, BUTTON_CLEAR, BUTTON_CLEAR_CART, BUTTON_DELETE, BUTTON_DESCRIPTION, BUTTON_DOWN, BUTTON_EDIT, BUTTON_EDIT_CLABELS, BUTTON_EDIT_SUBSCRIPTION, BUTTON_EDIT_SUBSCRIPTIONS, BUTTON_ENTRY_FROM_CLIPBOARD, BUTTON_ENTRY_TO_CLIPBOARD, BUTTON_EXIT_EDIT_MODE, BUTTON_FAST_BACKWARD, BUTTON_FAST_FORWARD, BUTTON_FIND_FUTURE, BUTTON_FIND_PAST, BUTTON_INTERNALIZE_ENTRY, BUTTON_LINK, BUTTON_LINK_IN_FRAME, BUTTON_LOCK_ZPAD, BUTTON_MORE_TEXT, BUTTON_NEXTCONTENT, BUTTON_PERSONALIZE, BUTTON_PL0, BUTTON_PL1, BUTTON_PL2, BUTTON_PL3, BUTTON_PL4, BUTTON_PREVIOUSCONTENT, BUTTON_PROVIDE_ENTRY, BUTTON_RE_EXPORT, BUTTON_RE_MANUAL, BUTTON_REPEAT, BUTTON_REPEAT_TODAY, BUTTON_RESTORE, BUTTON_SEND_ORDER, BUTTON_SUGGESTED_DESTINATION, BUTTON_SUMMARY, BUTTON_SYNCHRONIZE, BUTTON_TIME, BUTTON_TODAY, BUTTON_TOMORROW, BUTTON_TOOLS, BUTTON_TOP, BUTTON_UNDO, BUTTON_UP, BUTTON_UPLOAD_IMAGE, BUTTON_YESTERDAY, CONFIRM_BACKUP_ERROR, CONFIRM_CHANGE_ALL_REPEATING, CONFIRM_CLABEL_DEFINITION_FORMAT, CONFIRM_COULD_NOT_SAVE, CONFIRM_DELETE_ALL_REPEATING, CONFIRM_DELETE_EXPIRED, CONFIRM_ERROR, CONFIRM_FILE_CHANGED, CONFIRM_FILE_CHANGED_TITLE, CONFIRM_FILE_REALLY_CHANGED, CONFIRM_FIND_CONTENT, CONFIRM_FIRST_SECTION, CONFIRM_HAS_THEMES_FRAME, CONFIRM_MIXED_TODAY, CONFIRM_NO_MORE_CONTENT, CONFIRM_NOT_A_ZPAD, CONFIRM_NOT_REMOVE_SECTION, CONFIRM_QUESTION, CONFIRM_READONLY_BROWSER, CONFIRM_SURE, CONFIRM_THIS_ZPAD, CONFIRM_TODAY_IS_AT_STARTUP, CONFIRM_TODAY_IS_AT_TRANSFER, CONFIRM_UNDO, DECEMBER, ENTRY_TYPE_APPLET, ENTRY_TYPE_HTML, ENTRY_TYPE_IMAGE, ENTRY_TYPE_OBJECT, ENTRY_TYPE_TEXT, ENTRY_TYPE_TMPLD, ERROR_CONFIG_LOAD, ERROR_DATABASE_LOAD, ERROR_IMAGE_LOAD, ERROR_RESOLVE_LOCATION, ERROR_ZPAD_LOAD, EXC_INVALID_PORT_NUMBER, EXC_NO_GZIP_SUPPORT, EXC_NO_HOSTNAME_SPECIFIED, EXC_UNKNOWN_COMPR, EXC_UNKNOWN_ENCODING, EXC_VELOCITY_NOT_SHOWN, FEBRUARY, FRIDAY, FROM, GETTING_BUTTONS, GETTING_CONTENT, HTML_EDIT_ENTRY, HTML_ENTRY_EXPIRED, HTML_ENTRY_NOT_YET_INSPIRED, HTML_ENTRY_WILL_EXPIRE, HTML_MOVE_ENTRY, HTML_ZPAD_GET_ENTRY, INVALID_USER_LOCATION, JANUARY, JULY, JUNE, LABEL_ACCEPT_BATCH, LABEL_ADD_TO_CART, LABEL_ALL_CLABELS, LABEL_ALLSUB_SECTIONS, LABEL_APPLET_CODE, LABEL_APPLET_CODEBASE, LABEL_AT_STARTUP, LABEL_AT_STARTUP_BRIEF, LABEL_BACKGROUND, LABEL_BATCH_IS_MULTIPLE, LABEL_BATCH_NEW_SECTION, LABEL_BLUE, LABEL_BOTTOMUP_SUBSCRIPTION, LABEL_CART_EMPTY, LABEL_CASE_SENSITIVE, LABEL_CHOOSE_SECTION, LABEL_CHOOSE_TMPL, LABEL_CLABEL_IMAGE, LABEL_CLABEL_OVER_IMAGE, LABEL_CLABEL_RULE, LABEL_CLABELS, LABEL_CLABELS_SELECTED, LABEL_COUNT, LABEL_COVER_SECTIONS, LABEL_COVER_SPECIFIC_BUTTONS, LABEL_COVER_SPECIFIC_ENTRY_BUTTONS, LABEL_COVER_USES_HIERMENU, LABEL_COVER_USES_HIERMENU_ALL_OPTION, LABEL_COVER_USES_INPAGE, LABEL_COVER_USES_JOUST, LABEL_CURRENT_SECTIONS, LABEL_DAILY, LABEL_DATE, LABEL_DAYOFWEEK, LABEL_DESCR, LABEL_DESCRIPTION, LABEL_DESTINATION, LABEL_DONT_INHERIT, LABEL_EDIT_BATCH, LABEL_EMBED_SOURCE, LABEL_ENTRY_HTML, LABEL_ENTRY_IS_TMPL, LABEL_FOREGROUND, LABEL_GREEN, LABEL_HEIGHT, LABEL_HTML_STYLE, LABEL_ID, LABEL_IMAGE_LOCATION, LABEL_IMPORT_CLASSNAME, LABEL_IMPORT_SERVERNAME, LABEL_INHERIT_CLABELS, LABEL_INHERIT_PRIVACY_GROUPS, LABEL_INLINE_DESCRIPTION, LABEL_INPAGE_ALT_TEMPLATE_ID, LABEL_INPAGE_ALT_TEMPLATE_SOURCE, LABEL_INPAGE_SUB_TEMPLATE_ID, LABEL_INPAGE_SUB_TEMPLATE_SOURCE, LABEL_INPAGE_SUBSUB_TEMPLATE_ID, LABEL_INPAGE_SUBSUB_TEMPLATE_SOURCE, LABEL_INPAGE_TEMPLATE_ID, LABEL_INPAGE_TEMPLATE_SOURCE, LABEL_LOADED_FRAMES, LABEL_LOADED_TEMPLATES, LABEL_MONTH, LABEL_MONTHLY, LABEL_MOUNTPOINT, LABEL_MULTISUB_SECTIONS, LABEL_NEVER_EXPIRES, LABEL_NEVER_INSPIRES, LABEL_NEW_CLABEL, LABEL_NEW_FRAME, LABEL_NEW_PL_MEMBER, LABEL_NEW_SECTION, LABEL_NEW_SUBSCRIPTION, LABEL_NEW_TEMPLATE, LABEL_NEW_ZPAD_NAME, LABEL_NO_COLOR, LABEL_NO_ENTRY_SPECIFIC_PROPERTIES, LABEL_NO_FRAME, LABEL_NO_TEMPLATE_PREFERENCE, LABEL_NOT_AT_THIS_PL, LABEL_NOT_IN_CLIENTMODE, LABEL_OBJECT_LOCATION, LABEL_OCCURRING_SUBSCRIPTION, LABEL_OPTIONS, LABEL_ORDER_PRICE, LABEL_OWN_CONTENTS_ONLY, LABEL_OWN_SECTIONS, LABEL_OWNER_VERSION, LABEL_PASSWORD, LABEL_PASSWORD_ERROR, LABEL_PL_MEMBERS, LABEL_PLUS_ASSOCIATES, LABEL_PRICE, LABEL_PRICE_PER_ITEM, LABEL_PRO_VERSION, LABEL_RECURSIVE_SUBSCRIPTION, LABEL_RED, LABEL_REPEAT_1, LABEL_REPEAT_2, LABEL_REPEAT_3, LABEL_REQUIRED, LABEL_RGB, LABEL_SELECT_ZPAD, LABEL_SELECTED_ZPAD, LABEL_SHARED_SUBSCRIPTION, LABEL_SHOWING_RESULT, LABEL_STARTPOINT, LABEL_SUBSCRIPTIONS, LABEL_SYSTEM_SUBSCRIPTIONS, LABEL_THIS_IS_HTML, LABEL_THIS_ZPAD, LABEL_TMPL_DESCRIPTOR, LABEL_TMPL_ID, LABEL_TMPL_LOOP, LABEL_TMPL_NOT_AVAILABLE, LABEL_TMPL_STUBCHARS, LABEL_TODAY, LABEL_TOPDOWN_SUBSCRIPTION, LABEL_TOTAL_PRICE, LABEL_TRANSLATION_URL, LABEL_UNCLASSIFIED, LABEL_UP_TO_USER, LABEL_USE_RANGE, LABEL_USER_NAME, LABEL_VOLUME_DISCOUNT, LABEL_WEEKLY, LABEL_WIDTH, LABEL_YEAR, LABEL_YEARLY, MARCH, MAY, MONDAY, MORE, NO_CONTENT_IN_PAGE, NOVEMBER, OCTOBER, PM, PRESSED_DATE_POPUP, PRESSED_EDIT_POPUP, PRESSED_FIND_POPUP, PRESSED_META_POPUP, PRESSED_PERSONALIZE_POPUP, PRESSED_PRIVL_POPUP, PRESSED_SECTION_POPUP, PRESSED_TOOLS_POPUP, QUESTION_ENTRY_TO_CLIPBOARD, QUESTION_OVERWRITE_BACKUP, QUESTION_REPLACE_WITH_BACKUP, QUESTION_SELECT_ADVANCED_VERSION, REMOVE, SATURDAY, SAVING_CONTENT, SEARCH_FOR_MANUAL, SEARCH_FOR_PRIVACY_LEVEL, SEARCH_FOR_PROVIDE_PL, SEARCH_FOR_RE_EXPORT, SEARCH_FOR_RE_MANUAL, SEARCH_FOR_SUBSCRIPTION, SEARCH_FOR_TIME, SEARCH_FOR_TYPE, SEPTEMBER, SHOULD_SYNC, SUNDAY, TEMPLATE_NOT_AVAILABLE, THURSDAY, TITLE_ADD_ALIAS, TITLE_ADD_APPLET, TITLE_ADD_EMBED, TITLE_ADD_HTML, TITLE_ADD_IMAGE, TITLE_ADD_IMPORT, TITLE_ADD_OBJECT, TITLE_ADD_TEXT, TITLE_ADD_TMPLD, TITLE_ADVANCED_ZPAD, TITLE_CHANGE_COVER, TITLE_CLABEL_DEFINITIONS, TITLE_CLABEL_SELECTION, TITLE_COPY_TO, TITLE_COVER_OPTIONS, TITLE_COVER_SECTIONS, TITLE_DATE_OFFSET, TITLE_DATE_SECTIONS, TITLE_DATE_SPEC, TITLE_DESTINATION, TITLE_EDIT_CATEGORIES, TITLE_EDIT_PRIVACY_GROUPS, TITLE_EDIT_SHEET, TITLE_ENTRY_ATTRIBS, TITLE_ENTRY_EXPIRATION, TITLE_ENTRY_INSPIRATION, TITLE_ENTRY_PARAMS, TITLE_ENTRY_PROPS, TITLE_EXPIRED_HANDLING, TITLE_EXTERNAL_SECTIONS, TITLE_FIND_ENTRY, TITLE_FIRST_SECTION, TITLE_IDENTIFY_YOURSELF, TITLE_INSTANT_COVER, TITLE_LAST_SECTION, TITLE_LOGIN_DIALOG, TITLE_MANIPULATE_SECTION, TITLE_MOVE_ENTRY, TITLE_MOVE_TO, TITLE_NAVIGATOR, TITLE_PERSONALIZE_SHEET, TITLE_PL_GROUPS, TITLE_REMOVE_ALIAS, TITLE_REMOVE_FILE, TITLE_REMOVE_IMAGE, TITLE_SELECT_DATE, TITLE_SELECT_PL, TITLE_SELECT_SECTION, TITLE_SELECT_TMPL, TITLE_SET_CLABEL_IMAGES, TITLE_SET_COLOR, TITLE_SET_COLORS, TITLE_SET_FRAME, TITLE_SET_HTML, TITLE_SET_PL, TITLE_START_SECTION, TITLE_STATISTICS, TITLE_SUBSCRIPTIONS, TITLE_TEMPLATE_PREFERENCE, TITLE_TOOLS_SHEET, TITLE_TRANSFER, TITLE_UPLOAD_FILE, TITLE_USER_SECTIONS, TO, TUESDAY, WEDNESDAY, ZPAD
 
Constructor Summary
Navigator(ZPadBrowser zpadBrowser, OutputHandler outputHandler, Object dummy1, Object dummy2, int coverHeight, Object dummy3, Object dummy4)
          Constructs a new Navigator.
 
Method Summary
protected  void _addTo(Vector to, Vector from)
           
protected  boolean _entryIsIn(String pattern, boolean useCase, boolean onlyOwn, Vector content)
          Check whether the pattern is found in any of the entries.
protected  Vector _getAllChildren(PathString sectionName, boolean createThem, boolean sortThem)
           
protected  Vector _getNonEmptyOnes(Vector currents)
           
protected  boolean _inOwnerMode()
           
protected  void _setCurrentSection(Object sectionID, boolean remember)
          Set the current section.
 Vector _toFullPaths(PathString parent, Vector children)
           
 void checkBrowser(String appName, String appVersion)
          Implement your actions for known limited browsers.
 void destroy()
          Be careful to remove Listeners in order to avoid cyclic references.
 Result findContentEntry(String currentSectionID, Section currentSection, int currentSectionPage, String pattern, boolean useCase, boolean searchFuture, boolean onlyOwn)
          Find a *page* that contains an entry that matches the requested pattern.
 Object firstSectionWithContent()
          Return the first Section that contains content or null.
 Vector getChildren(PathString sectionName)
           
 Vector getChildren(PathString sectionName, boolean removeHiddenOrEmpty, boolean createThem)
           
 Vector getChildren(PathString sectionName, boolean removeHiddenOrEmpty, boolean createThem, boolean sortThem)
           
 Object getCurrentSection()
          Get the sectionID of the current section.
 int getCurrentSectionPage()
          Get the current Page of the current section.
 Database getDatabase()
          Get the current Database.
 Object getSectionID(PathString sectionName)
          Check whether current section still exists, otherwise best guess.
 Object getSectionID(PathString sectionName, boolean allowDefault)
          Check whether the current section still exists.
 Object getSectionID(String sectionIndicator)
          Get a certain section for this ZPad.
 Vector getSectionNames()
          Get all Section names sorted.
 Vector getSectionNames(boolean removeHiddenOrEmpty, int ownDepthLimit, int removeEmptySectionsLimit)
          Get all Section names unsorted.
 Vector getSectionTree(boolean limited)
          Get a complete tree of section names.
 int getStartPage(Object startSectionID, String pageNo)
          This function is a best effort.
 Object getStartSection(String sectionIndicator)
          Give the correct start-section, given the String specified (e.g.
 void goHighestPL()
          Go to the highest PL that can be achieved.
 void hideMagicians()
          Hides the magicians and cancels all sheets currently in them.
 void ioStateChanged(WURL location, int info, String filename, Object arg)
          Required by IOListener interface
 Object lastSectionWithContent()
          Return the last Section that contains content or null.
 void mustRecalculateSubscriptions()
           
 void onException(WURL location, Exception e, String filename)
          Required by IOListener interface
 void recalculateSubscriptions()
          Recalculate all Subscriptions (either due to a store of zpad.sbs or due to a dynamic subscription).
 void refresh()
          Refresh the page currently showing in the browser.
 void setGenerator(Generator g, boolean permanent)
          Hands the generator to the navigator.
 void setInitializationLevel(int initLevel)
          Set the Navigator's initializationLevel.
 void showHelp(int helpIdentifier)
          Show HTML help for a sheet or for this navigator itself.
 void showLinkOf(String entrySubId)
          Show the link of an Entry.
 void showPage(int page, boolean remember)
          Show a page within the current section.
 void showSection(Object sectionID)
          Show a section -- regenerate if already showing, show the first page if not already showing.
 void showSectionPage(Object sectionID, int page, boolean remember)
          Show a section and a page within the section.
 String translateRelativeSection(String newOne)
          Combine the current absolute section and the new (possibly relative) section to an absolute path.
static String translateRelativeSection(String curOne, String newOne)
          Combine current absolute section and the new (possibly relative) section to an absolute path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

userName

public String userName
The mixed-case user name as used by the user. It is just a reference to the ZPad Applets' variable, but we don't want _zpadBrowser to be public.


userType

public String userType
The applet type that is currently running. It is just a reference to the ZPad Applets' variable, but we don't want _zpadBrowser to be public.


serverName

public String serverName
The mixed-case server name as used by the user. We get it from the Navigator's outputHandler.


coverName

public String coverName
The Cover's name, used for Cover specific storage of information. such as Template Preferences.


_currentSectionID

protected Object _currentSectionID
Information about the current Section that is showing.


_currentSection

protected Section _currentSection

_currentSectionPage

protected int _currentSectionPage

targetName

public String targetName
The name to be used for "target" windows -- unique PER Navigator, not a static! it may contain "_top", "_blank" or a unique name.


_lastSheetOpenClickTime

protected long _lastSheetOpenClickTime
The time of the last click that opened a sheet -- for implementation of Double Click


_initializationLevel

protected int _initializationLevel
The Zpad is still initializing if _initializationLevel < 2. -1 is totally uninitialised 0 is running on empty dat 1 is own zpad.dat is loaded 2 is all subscriptions are loaded.


_zpadBrowser

protected ZPadBrowser _zpadBrowser
The ZPadBrowser that I am working for.


session

public Session session
The Session that I am in.


generator

public Generator generator
The Generator I can use -- or manipulate in Meta Mode


inputHandler

public InputHandler inputHandler
Input from the User Location


outputHandler

public OutputHandler outputHandler
Output to the User Location


_theSectionNames

protected Vector _theSectionNames
The sections


_theSectionTree

protected Vector _theSectionTree

_theLimitedSectionTree

protected Vector _theLimitedSectionTree

entryControlV

public Entry entryControlV

_lastLoginCount

protected int _lastLoginCount
If you log in, not only your own outputhandler will report it, but all of your (implicit) subscriptions too. This would result in too many "goHighest" which imply "refresh".


_getChildrenCache

protected MultiLevelExpiringCache _getChildrenCache
Constructor Detail

Navigator

public Navigator(ZPadBrowser zpadBrowser,
                 OutputHandler outputHandler,
                 Object dummy1,
                 Object dummy2,
                 int coverHeight,
                 Object dummy3,
                 Object dummy4)
Constructs a new Navigator.

Parameters:
zpad - the ZPad Applet this Navigator is working for or null. If it is null, keep this Navigator as cheap as possible. In fact, it then is used for its ButtonFactory and Session only.
outputHandler - the outputHandler to use.
sharedButtonFactory - the Zpad generic buttonFactory.
coverButtonFactory - the Cover specific buttonFactory.
coverHeight - the height available for the Navigator.
magicianBackground - background color for popup's
magicianForeground - foreground color for popup's
Method Detail

setGenerator

public void setGenerator(Generator g,
                         boolean permanent)
Hands the generator to the navigator. This moment has been waited for to do more! The feedback is installed, this is registered as listener for the inputHandler and outputHandler.

Parameters:
g - the generator.
permanent - if true, this is the Generator that has the user's database loaded, otherwise it is a temporary one

setInitializationLevel

public void setInitializationLevel(int initLevel)
Set the Navigator's initializationLevel.


getSectionNames

public Vector getSectionNames()
Get all Section names sorted. This method supports: -- optional removal of the 'hidden' sections (by server configuration only) -- optional limitation of the 'total' set of sections (by server configuration only) -- optional removal of empty sections (by server configuration only) -- addition of optional 'cover' sections


getSectionNames

public Vector getSectionNames(boolean removeHiddenOrEmpty,
                              int ownDepthLimit,
                              int removeEmptySectionsLimit)
Get all Section names unsorted.

Parameters:
removeHiddenOrEmpty - remove 'hidden' sections
ownDepthLimit - the maximum depth of a section name
removeEmptySectionsLimit - the maximum number of section (inclusive), below which empty sections should be removed

getSectionTree

public Vector getSectionTree(boolean limited)
Get a complete tree of section names.

Parameters:
limited - if true, limit the size of the tree

ioStateChanged

public void ioStateChanged(WURL location,
                           int info,
                           String filename,
                           Object arg)
Required by IOListener interface

Specified by:
ioStateChanged in interface IOListener
Parameters:
location - the location
info - one of the constants listed below.
filename - the name of the file the info is about.
arg - an optional argument that (e.g.) contains extra information

onException

public void onException(WURL location,
                        Exception e,
                        String filename)
Required by IOListener interface

Specified by:
onException in interface IOListener
Parameters:
location - the location
e - the encountered exception.
filename - the name of the file the info is about.

getCurrentSection

public Object getCurrentSection()
Get the sectionID of the current section.

Returns:
either a String or a WDate.

getCurrentSectionPage

public int getCurrentSectionPage()
Get the current Page of the current section.


_setCurrentSection

protected void _setCurrentSection(Object sectionID,
                                  boolean remember)
Set the current section. The current page is not set.


hideMagicians

public void hideMagicians()
Hides the magicians and cancels all sheets currently in them.


showSection

public void showSection(Object sectionID)
Show a section -- regenerate if already showing, show the first page if not already showing. Note: you should regenerate even when the current section is already showing because e.g. the edit mode may have been changed.

Parameters:
sectionID - the sectionID of the section to show.

showSectionPage

public void showSectionPage(Object sectionID,
                            int page,
                            boolean remember)
Show a section and a page within the section.


showPage

public void showPage(int page,
                     boolean remember)
Show a page within the current section. It does not check whether or not the current page is already showing, since this is already checked in _zpadBrowser.zpad. And this enables you to use this function, e.g. when the database was dirty.


getDatabase

public Database getDatabase()
Get the current Database. This is a facility function.

Returns:
the current database.

refresh

public void refresh()
Refresh the page currently showing in the browser. Use this whenever the database or the privacy level has changed.


findContentEntry

public Result findContentEntry(String currentSectionID,
                               Section currentSection,
                               int currentSectionPage,
                               String pattern,
                               boolean useCase,
                               boolean searchFuture,
                               boolean onlyOwn)
Find a *page* that contains an entry that matches the requested pattern.

Parameters:
pattern - the pattern to search for
useCase - if true, don't ignore Case
searchFuture - if true, search future, otherwise search past
onlyOwn - if true, search only own contents, otherwise search all contents

_entryIsIn

protected boolean _entryIsIn(String pattern,
                             boolean useCase,
                             boolean onlyOwn,
                             Vector content)
Check whether the pattern is found in any of the entries.

Parameters:
pattern - the pattern you are searching for.
useCase - if true case sensitive, case insensitive otherwise.
onlyOwn - if true only own Entries, otherwise subscribed as well.
content - a Vector of Entry's.

destroy

public void destroy()
Be careful to remove Listeners in order to avoid cyclic references.

See Also:
ZPad#destroy

getSectionID

public Object getSectionID(String sectionIndicator)
Get a certain section for this ZPad. Make a best guess for any 'user' provided section-name.

Parameters:
sectionIndicator - The name representation of the section, a String containing a legal date representation or the name of a named section.
Returns:
the section indicated or the best guess

getSectionID

public Object getSectionID(PathString sectionName)
Check whether current section still exists, otherwise best guess.


getSectionID

public Object getSectionID(PathString sectionName,
                           boolean allowDefault)
Check whether the current section still exists. This function is capable to correct user-typo's.

Returns:
if allowDefault, return the section itself or a best guess, otherwise return the section itself or null

checkBrowser

public void checkBrowser(String appName,
                         String appVersion)
Implement your actions for known limited browsers.


goHighestPL

public void goHighestPL()
Go to the highest PL that can be achieved.


showHelp

public void showHelp(int helpIdentifier)
Show HTML help for a sheet or for this navigator itself.


lastSectionWithContent

public Object lastSectionWithContent()
Return the last Section that contains content or null.


firstSectionWithContent

public Object firstSectionWithContent()
Return the first Section that contains content or null.


showLinkOf

public void showLinkOf(String entrySubId)
Show the link of an Entry.

Parameters:
entrySubId - Either an single EntryId (e.g. 10) or an EntryId followed by a clabel number (e.g. 10.200).

mustRecalculateSubscriptions

public void mustRecalculateSubscriptions()

recalculateSubscriptions

public void recalculateSubscriptions()
Recalculate all Subscriptions (either due to a store of zpad.sbs or due to a dynamic subscription).


getStartSection

public Object getStartSection(String sectionIndicator)
Give the correct start-section, given the String specified (e.g. ?section=....).

Returns:
always a valid section identifier (WDate or String)

getStartPage

public int getStartPage(Object startSectionID,
                        String pageNo)
This function is a best effort. You can't really split getStartSection and getStartPage as we do. First: E.g. suppose you specify a non-existing section and a page, is the page significant or should we ignore it? Second: with this implementation you can't go to a section with a different page if the section is the last section that you visited. But we do it, because ENGINE needs it.


_inOwnerMode

protected boolean _inOwnerMode()

translateRelativeSection

public String translateRelativeSection(String newOne)
Combine the current absolute section and the new (possibly relative) section to an absolute path.


translateRelativeSection

public static String translateRelativeSection(String curOne,
                                              String newOne)
Combine current absolute section and the new (possibly relative) section to an absolute path.


getChildren

public Vector getChildren(PathString sectionName)
See Also:
getChildren(PathString, boolean, boolean, boolean)

getChildren

public Vector getChildren(PathString sectionName,
                          boolean removeHiddenOrEmpty,
                          boolean createThem)
See Also:
getChildren(PathString, boolean, boolean, boolean)

getChildren

public Vector getChildren(PathString sectionName,
                          boolean removeHiddenOrEmpty,
                          boolean createThem,
                          boolean sortThem)
Parameters:
sectionName - the section your interested in
removeHiddenOrEmpty - remove hidden or empty children
createThem - should they all exist after this call
sortThem - return a sorted list of children
Returns:
a vector of simple String names that represent all immediate children of a section.

_getAllChildren

protected Vector _getAllChildren(PathString sectionName,
                                 boolean createThem,
                                 boolean sortThem)

_addTo

protected void _addTo(Vector to,
                      Vector from)

_toFullPaths

public Vector _toFullPaths(PathString parent,
                           Vector children)

_getNonEmptyOnes

protected Vector _getNonEmptyOnes(Vector currents)


Copyright © 1997-2008 Aduna. All Rights Reserved.