info.aduna.gee.publication.content
Class ZContainer

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.Vector
              extended by info.aduna.gee.publication.content.ZContainer
All Implemented Interfaces:
EntryConstants, LocalNames, Serializable, Cloneable, Iterable, Collection, List, RandomAccess

public class ZContainer
extends Vector
implements LocalNames, EntryConstants

ZContainer represents a list of Entry's for one page in the ZPad. NOTE: A Vector uses "equals" to compare elements and not "==". A ZContainer should be able to handle multiple "equals" Entries that are not "==". So, be careful to use the correct methods of Vector (e.g. removeElementAt and not removeElement) or override Vector's behaviour. See e.g. replaceEntry(). Now that ZContainers is lazy loading, extra care should be taken when using Vector's methods. Don't use Vector's size() for it does not take into account lazy loading and might return 0. We can not override size() because it is final in Vector. Therefore use numberOfEntries(). You may use elementAt(), but only *after* at least one call to numberOfEntries() (to effectuate lazy loading of the Container. You may use indexOf(), but only *after* at least one call to numberOfEntries() (to effectuate lazy loading of the Container. Don't use e.g. elements().

See Also:
Serialized Form

Field Summary
protected  WProperties _entriesProps
          Lazy loading of the ZContainer's entries.
 long expirationTime
          The expiration time of the current ZContainer.
 Object id
          The id of this container.
 long lastAccessTime
          The last access time of this container.
 boolean loaded
          Lazy loading of the ZContainer's entries (READ-ONLY).
static String NO_TEMPLATE_PREFERENCE
          For a user to select from a list in order to specify that he has not Template Preference.
 String occurringCLabels
          All labels that occur in this container (or any of its children).
 OpaqueCLabel[] occurringOCLabels
           
 int privacyLevel
          The privacy level of this container.
 String sharedCLabels
          All labels shared by all entries in this container (and each of its children).
 OpaqueCLabel[] sharedOCLabels
           
 WProperties templatePreferences
          The template preference of this container.
 long ttl
          Used to store the time-to-live of the current ZContainer.
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
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
 
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
 
Constructor Summary
ZContainer(Object id)
          Construct an empty ZContainer with the specified id.
ZContainer(Object id, int initialCapacity)
           
ZContainer(Object id, int initialCapacity, int capacityIncrement)
          Construct an empty ZContainer with the specified id.
 
Method Summary
protected  Entry _checkEntryOnInsert(Entry entry)
          Change (if necessary) an Entry before inclusion in this ZContainer.
protected  void _ensureLoaded()
           
protected  int _indexOf(Object elem)
          Override Vector's indexOf to use == instead of equals.
 void calculateOpaqueLabels()
           
 Object clone()
          Clone this ZContainer; is often used for editing.
static ZContainer create(WProperties props)
          Create a named container.
static ZContainer create(WProperties props, int type)
          Create a container from a properties object.
 void insertEntry(Entry entry, int index)
          Insert an Entry in the container.
 void mergeWith(ZContainer other)
          Merges the contents of another container into this one.
 void moveEntry(Entry entry, boolean moveUp, boolean extreme)
          Moves an existing entry within the ZContainer.
 int numberOfEntries()
          Vector's size() is FINAL and can not be overruled.
 void replaceEntry(Entry oldEntry, Entry newEntry, boolean all)
          Replace an Entry by a new one.
 WProperties toProperties()
          Creates a property representation of this container.
 
Methods inherited from class java.util.Vector
add, add, addAll, addAll, addElement, capacity, clear, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Field Detail

NO_TEMPLATE_PREFERENCE

public static String NO_TEMPLATE_PREFERENCE
For a user to select from a list in order to specify that he has not Template Preference.


id

public Object id
The id of this container. Read only public access.


lastAccessTime

public long lastAccessTime
The last access time of this container. Apart from the construction, it is maintained by Database.


privacyLevel

public int privacyLevel
The privacy level of this container.


occurringCLabels

public String occurringCLabels
All labels that occur in this container (or any of its children).


sharedCLabels

public String sharedCLabels
All labels shared by all entries in this container (and each of its children).


occurringOCLabels

public OpaqueCLabel[] occurringOCLabels

sharedOCLabels

public OpaqueCLabel[] sharedOCLabels

templatePreferences

public WProperties templatePreferences
The template preference of this container.


loaded

public boolean loaded
Lazy loading of the ZContainer's entries (READ-ONLY).


_entriesProps

protected WProperties _entriesProps
Lazy loading of the ZContainer's entries.


expirationTime

public long expirationTime
The expiration time of the current ZContainer. Should not be stored.


ttl

public long ttl
Used to store the time-to-live of the current ZContainer. Used for query entry results only. Note: should be "stored" because it is sent over the wire in "stored" form.

Constructor Detail

ZContainer

public ZContainer(Object id)
Construct an empty ZContainer with the specified id.

Parameters:
id - the id of the ZContainer.

ZContainer

public ZContainer(Object id,
                  int initialCapacity)

ZContainer

public ZContainer(Object id,
                  int initialCapacity,
                  int capacityIncrement)
Construct an empty ZContainer with the specified id.

Parameters:
id - the id of the ZContainer.
Method Detail

insertEntry

public void insertEntry(Entry entry,
                        int index)
Insert an Entry in the container.

Parameters:
entry - the entry.
index - the index to insert the entry in.

replaceEntry

public void replaceEntry(Entry oldEntry,
                         Entry newEntry,
                         boolean all)
Replace an Entry by a new one. This function is used by editors to replace an Entry by an edited one.

Parameters:
oldEntry - The Entry to be replaced.
newEntry - The replacing Entry or null.
all - If true, replace all EQUAL otherwise replace first IDENTICAL Entry.

mergeWith

public void mergeWith(ZContainer other)
Merges the contents of another container into this one.

Parameters:
other - the other container.

moveEntry

public void moveEntry(Entry entry,
                      boolean moveUp,
                      boolean extreme)
Moves an existing entry within the ZContainer.

Parameters:
entry - the entry in the container.
moveUp - if true move upwards, else move downwards
extreme - if true move fully up/downwards

create

public static ZContainer create(WProperties props)
Create a named container.

See Also:
create(WProperties, int)

create

public static ZContainer create(WProperties props,
                                int type)
Create a container from a properties object.

Parameters:
props - the properties object containing enough relevant information to construct a container.
type - one of Database.NAMED, Database.DATED, Database.WILDC
Returns:
a ZContainer object constructed according to the parameters in the properties object.

toProperties

public WProperties toProperties()
Creates a property representation of this container.

Returns:
a properties object containing all relevant information so that the container can be restored later using this object.

clone

public Object clone()
Clone this ZContainer; is often used for editing.

Overrides:
clone in class Vector

_indexOf

protected int _indexOf(Object elem)
Override Vector's indexOf to use == instead of equals.


_checkEntryOnInsert

protected Entry _checkEntryOnInsert(Entry entry)
Change (if necessary) an Entry before inclusion in this ZContainer.


numberOfEntries

public int numberOfEntries()
Vector's size() is FINAL and can not be overruled. Therefore, don't use size(), use this method.


_ensureLoaded

protected void _ensureLoaded()

calculateOpaqueLabels

public void calculateOpaqueLabels()


Copyright © 1997-2008 Aduna. All Rights Reserved.