com.jalios.jcms.calendar
Class AbstractCalendarEvent

java.lang.Object
  extended by com.jalios.jstore.BasicStorable
      extended by com.jalios.jcms.Data
          extended by com.jalios.jcms.Publication
              extended by com.jalios.jcms.Content
                  extended by com.jalios.jcms.calendar.AbstractCalendarEvent
All Implemented Interfaces:
EditableData, JcmsConstants, ImportConstants, MashupConstants, Searchable, Storable, JaliosConstants, TreeNode, Cloneable, Comparable<BasicStorable>

public abstract class AbstractCalendarEvent
extends Content

This abstract class provides a superclass to every calendar event and base methods for their manipulation

Since:
jcms-4.1.1
Version:
$Revision: 24522 $
Author:
Olivier Jaquemet

Nested Class Summary
static class AbstractCalendarEvent.CalendarEventAttendeeSelector
          This DataSelector selects all the CalendarEvent of which the given member is an attendee (either because he is the author or he is in the list of attendees)
static class AbstractCalendarEvent.CalendarEventDateSelector
          This DataSelector selects all the CalendarEvent taking place in between the given date
static class AbstractCalendarEvent.StartDateComparator<T extends AbstractCalendarEvent>
          This comparator allow sorting of calendar event in chronological order using only their start date
 
Nested classes/interfaces inherited from class com.jalios.jcms.Publication
Publication.AdateComparator<T extends Publication>, Publication.AdateSelector, Publication.AudienceRightComparator<T extends Publication>, Publication.AudienceRightSelector, Publication.AuthorComparator<T extends Publication>, Publication.AuthorizedSelector, Publication.CanWorkOnSelector, Publication.DdateComparator<T extends Publication>, Publication.EdateComparator<T extends Publication>, Publication.EdateSelector, Publication.PdateComparator<T extends Publication>, Publication.PdateSelector, Publication.PstatusComparator<T extends Publication>, Publication.PstatusSelector, Publication.RatingComparator<T extends Publication>, Publication.ReaderComparator<T extends Publication>, Publication.ReadRightSelector, Publication.ReviewCountComparator<T extends Publication>, Publication.RightComparator<T extends Publication>, Publication.SdateComparator<T extends Publication>, Publication.SdateSelector, Publication.TitleComparator<T extends Publication>, Publication.TrackedSelector, Publication.TypeComparator<T extends Publication>, Publication.UdateComparator<T extends Publication>, Publication.UdateSelector, Publication.UserContentSelector, Publication.VisibleStateSelector, Publication.WorkspaceAuthorSelector, Publication.WorkspaceComparator<T extends Publication>, Publication.WorkspaceSelector
 
Nested classes/interfaces inherited from class com.jalios.jcms.Data
Data.AuthorSelector, Data.CdateSelector, Data.DataNameComparator<T extends Data>, Data.DeletableSelector, Data.ImportSelector, Data.MdateSelector, Data.OpAuthorComparator<T extends Data>
 
Nested classes/interfaces inherited from class com.jalios.jstore.BasicStorable
BasicStorable.CdateComparator<T extends Storable>, BasicStorable.IdComparator<T extends Storable>, BasicStorable.MdateComparator<T extends Storable>
 
Field Summary
static String REVISION
           
 
Fields inherited from class com.jalios.jcms.Publication
adate, authorizedGroupSet, authorizedMemberSet, categories, categorySet, CTRL_TOPIC_ADVANCED, CTRL_TOPIC_CATEGORIES, CTRL_TOPIC_WORKFLOW, edate, friendlyURLSet, indexMgr, isTracked, mainInstance, mainLanguage, majorVersion, mergeDate, mergeId, minorVersion, pdate, pstatus, roleMap, sdate, templates, title, titleML, udate, updateGroupSet, updateMemberSet, wfExpressAlarmEntry, wfReminderAlarmEntry, workspace
 
Fields inherited from class com.jalios.jcms.Data
author, authorDBID, channel, DISPLAY_URL_EXTRA_INFO, extension, extraDataMap, extraDBDataMapToSaveOnOp, importMap, lockDate, lockMember, opAuthor, opDelegate
 
Fields inherited from class com.jalios.jstore.BasicStorable
cdate, ddate, id, mdate, store
 
Fields inherited from interface com.jalios.jcms.mashup.ImportConstants
IMPORT_ALARM_MGR, IMPORT_AUTHOR_PROP, IMPORT_CATEGORY_DEFAULT, IMPORT_DC_ATTR, IMPORT_DC_STEP, IMPORT_DIR, IMPORT_ENABLED, IMPORT_JDOM_ELEMENT, IMPORT_LOG_FILE, IMPORT_LOG_MAX, IMPORT_OPTIONS, IMPORT_OPTIONS_DC_CONTEXT, IMPORT_ROOT_PROP, IMPORT_SOURCE_FILE, IMPORT_SOURCE_PREFIX_PROP, IMPORT_SOURCES_DIR, IMPORT_STEP_CLEAN, IMPORT_STEP_IMPORT, IMPORT_STEP_UPDATE_REF, IMPORT_WS_PROP
 
Fields inherited from interface com.jalios.jcms.mashup.MashupConstants
DATA_TAG, DATASET_TAG, FIELD_CLASS, FIELD_ENTRY, FIELD_ITEM, FIELD_KEY, FIELD_NAME, FIELD_TAG, FIELD_VALUE, FILE_FIELD, FILE_ID, FILE_MTIME, FILE_SIZE, FILE_TAG, FILE_TICKET, FILESET_TAG, RELATED_TAG
 
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, CRYPT_MD5, CRYPT_UNDEFINED, CRYPT_UNIX, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, ICON_ARCHIVE, ICON_LOCK, ICON_LOCK_STRONG, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, JALIOS_JUNIT_PROP, JCMS_CADDY, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_DEEP_COPY, OP_DEEP_DELETE, OP_DELETE, OP_MERGE, OP_UPDATE, PDATE_SEARCH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SESSION_AUTHORIZED_FILENAMES_SET, STATS_REPORT_DIR, STATUS_PROP, STORE_XML, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, URL_REGEXP, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
 
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
 
Constructor Summary
AbstractCalendarEvent()
           
AbstractCalendarEvent(Content other)
           
 
Method Summary
 ControllerStatus checkIntegrity()
          Checks whether or not data integrity constraints are respected.
 TreeSet<Member> getAllAttendingMembersSet()
          Return a set containing all the members attending this event.
abstract  Group[] getAttendingGroups()
           
abstract  Member[] getAttendingMembers()
           
static AbstractCalendarEvent.CalendarEventAttendeeSelector getCalendarEventAttendeeSelector(Member mbr)
           
static AbstractCalendarEvent.CalendarEventDateSelector getCalendarEventDateSelector(Date startDate, Date endDate)
           
abstract  Date getEndDate()
           
abstract  String getImportanceLevel()
           
 Date getReminderDate()
           
abstract  long getReminderDuration()
           
abstract  Date getStartDate()
           
static AbstractCalendarEvent.StartDateComparator<AbstractCalendarEvent> getStartDateComparator()
           
 boolean isAttendee(Member mbr)
          Check if a given member attends this calendar event, either because he is in a group attending the event or else if he is in the list of attendees
 boolean isReminderEnabled()
           
 boolean overlapWith(AbstractCalendarEvent ev)
          Check if calendar event overlap with another one
 boolean overlapWith(Date startDate, Date endDate)
          Check if calendar event overlap with given interval
 void performCreate(Member mbr, Map context)
          Performs additionnal task during creation of CalendarEvent
 void performUpdate(Member mbr, Map context)
          Performs additionnal task during update of CalendarEvent
 void remind()
          remind author and attendees of event
 boolean removeAttendee(Member mbr)
          Remove given member from the attending members, updates the all member set.
abstract  void setAttendingGroups(Group[] v)
           
abstract  void setAttendingMembers(Member[] v)
           
abstract  void setReminderDuration(long v)
           
 void updateAllAttendingMembersSet()
          Clear and update the transient cache of all attending member set.
 
Methods inherited from class com.jalios.jcms.Publication
addAuthorizedGroup, addAuthorizedMember, addCategory, addWeakReferrer, addWFExpressAlarm, addWFReminderAlarm, assignCommonPublicationFields, assignRole, assignRole, canBeArchived, canBeArchived, canBeEditedFieldByField, canBeReadBy, canBeReadBy, canBeReadBy, canCreateCopy, canCreateCopy, canCreateWorkCopy, canMergeWorkCopy, checkCreate, checkDelete, checkLang, checkMember, checkMerge, checkStateChange, checkTemplateEntry, checkUpdate, checkWrite, clearTransientIndex, computeSignature, containsCategory, createCopy, createWFNote, createWorkCopy, exportXmlField, getAbstract, getAbstract, getAbstract, getAbstractML, getAccessCount, getAdate, getAdateComparator, getAdateSelector, getAllFilePath, getAllWikiText, getAllWysiwygText, getAudiencedRightsString, getAudienceRightComparator, getAudienceRightSelector, getAuthorizedGroupSet, getAuthorizedMemberSet, getAuthorizedSelector, getCanWorkOnSelector, getCategories, getCategories, getCategorySet, getComparator, getComparator, getComparator, getCSVHeader, getDataName, getDate, getDate, getDateSelector, getDdateComparator, getDefaultTemplateUsage, getDescendantCategorySet, getDescendantCategorySet, getDescendantCategorySet, getDisplayTemplateFile, getDocumentLinkSet, getEdate, getEdateComparator, getEdateSelector, getEstimatedReminderCount, getExternalLinkSet, getFieldInMainLanguage, getFieldValue, getFirstDescendantCategory, getFirstDescendantCategory, getFirstDescendantCategory, getFriendlyURLSet, getGlobalRating, getImportConflictCopy, getImportVersion, getIndexingDate, getLinkDataSet, getMainInstance, getMainLanguage, getMajorVersion, getMemberSetAssignedToRole, getMergeDate, getMergeId, getMinorVersion, getNextWFStateSet, getPdate, getPdateComparator, getPdateSelector, getPstatus, getPstatusAlarmEntry, getPstatusComparator, getPstatusSelector, getPstatusSelector, getQueryTemplateFile, getRatingComparator, getReaderComparator, getReaderCount, getReaderTrackerList, getReadRightSelector, getReadRightsString, getReview, getReviewCount, getReviewCountComparator, getReviewList, getReviewList, getRightComparator, getRoleMap, getSdate, getSdateComparator, getSdateSelector, getSearchStrings, getTemplate, getTemplateEntry, getTemplateEntry, getTemplateEntrySet, getTemplatePath, getTemplatePath, getTemplates, getTitle, getTitle, getTitle, getTitleComparator, getTitleComparator, getTitleML, getTrackedSelector, getTreeChildren, getTreeParent, getTreeRoot, getTypeComparator, getTypeLabel, getUdate, getUdateComparator, getUdateSelector, getUpdateGroupSet, getUpdateMemberSet, getVersionString, getVisibleStateSelector, getWeakReferrerSet, getWFNoteList, getWFState, getWFStateLabel, getWorkCopySet, getWorkflow, getWorkspace, getWorkspaceAuthorSelector, getWorkspaceComparator, getWorkspaceId, getWorkspaceSelector, getWSTypeEntry, getWSTypeEntry, hasAlreadyVoted, hasAnyReadRights, hasBeenReadBy, hasCategory, hasImportConflict, hasNoReadRights, hasReview, hasWeakReferrers, importConvertToLocal, importMarkAsMerged, importOverrideAndUpdate, importXml, init, initCopy, isAudienced, isDefaultTemplate, isImportConflictCopy, isInRole, isInVisibleState, isPublic, isRoleAssigned, isTracked, isTreeLeaf, isTreeNode, isUserContent, isUserContentType, isWorkCopy, majorUpdate, performDelete, performMerge, performMerge, prepareMergeCopy, putPstatusAlarmEntry, removeAllDescendants, removeAllReaderTracker, removeAuthorizedGroup, removeAuthorizedMember, removeCategory, removeDataSet, removeImportMetadata, removePstatusAlarmEntry, removeWeakReferrer, removeWFExpressAlarm, removeWFReminderAlarm, resolveTypeTemplateEntry, setAdate, setAuthorizedGroupSet, setAuthorizedMemberSet, setCategories, setCategorySet, setCdate, setEdate, setFriendlyURLSet, setImportConflictCopy, setImportVersion, setMainInstance, setMainLanguage, setMajorVersion, setMergeDate, setMergeId, setPdate, setPstatus, setRoleMap, setRoleMemberSetMap, setSdate, setTemplate, setTemplates, setTitle, setTitle, setTitleML, setTracked, setUdate, setUpdateGroupSet, setUpdateMemberSet, setWorkspace, setWorkspaceId, toCSV, toFullString, toString, trackReader, unassignMember, unassignRole, updatePstatus, updateTemplate
 
Methods inherited from class com.jalios.jcms.Data
checkCreate, checkDelete, checkIntegrity, checkLock, checkUpdate, clone, computeDBIDArray, exportXml, exportXml, exportXml, exportXml, exportXmlRelated, exportXmlRelated, fillExportXmlFieldAttributes, getAllReferrerSet, getAllReferrerSet, getAllTypeFieldEntry, getAuthor, getAuthor, getAuthorComparator, getAuthorDBID, getAuthorId, getAuthorSelector, getBooleanFieldValue, getCaddyComparator, getCategoryFieldValue, getCdateSelector, getDataImage, getDataImage, getDataImage, getDataNameComparator, getDeletableSelector, getDisplayUrl, getDoubleFieldValue, getExportXmlDataValue, getExtension, getExtraData, getExtraDataMap, getExtraDBData, getExtraDBDataMap, getExtraInfo, getExtraInfoMap, getFieldStatusMap, getFieldValue, getFieldValue, getFieldValue, getImportAuthor, getImportBatch, getImportDate, getImportDisplayUrl, getImportId, getImportMap, getImportMdate, getImportSelector, getImportSignature, getImportSource, getImportSourceUrl, getImportUrl, getIntFieldValue, getIntFieldValue, getLinkCount, getLinkIndexedDataSet, getLinkIndexedDataSet, getLockDate, getLockMember, getLongFieldValue, getMdateSelector, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getOpAuthor, getOpAuthorComparator, getOpDelegate, getRowId, getTypeEntry, getTypeFieldsEntries, getUpdateInstance, hashCode, importXmlFieldsWithReferences, importXmlFiles, importXmlReferences, isImported, isImportUpdated, isInDatabase, isLocked, isPersisted, lock, markNewImport, mergeHybridLink, performAfterWrite, performBeforeWrite, performCreate, performDelete, performUpdate, removeExtraData, removeExtraDBData, removeExtraInfo, setAuthor, setAuthorDBID, setAuthorId, setExtension, setExtraData, setExtraDataMap, setExtraDBData, setExtraDBDataMap, setExtraInfo, setImportAuthor, setImportBatch, setImportDate, setImportDisplayUrl, setImportId, setImportMap, setImportMdate, setImportSignature, setImportSource, setImportSourceUrl, setImportUpdated, setMdate, setOpAuthor, setOpDelegate, setRowId, unlock, unlock, unmarkNewImport, updateExtraDataMap, updateExtraDBDataMap, updateIndexTreeSet
 
Methods inherited from class com.jalios.jstore.BasicStorable
clearId, compareTo, equals, getAttribute, getAttributes, getCdate, getCdateComparator, getDdate, getId, getIdComparator, getMdate, getMdateComparator, getStore, getUrid, hasBeenUpdated, isStored, resolveAtt, resolveVal, setAttributes, setDdate, setId, setStore, toXml
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values
Constructor Detail

AbstractCalendarEvent

public AbstractCalendarEvent()

AbstractCalendarEvent

public AbstractCalendarEvent(Content other)
Method Detail

getStartDate

public abstract Date getStartDate()

getEndDate

public abstract Date getEndDate()

getImportanceLevel

public abstract String getImportanceLevel()

overlapWith

public boolean overlapWith(AbstractCalendarEvent ev)
Check if calendar event overlap with another one

Parameters:
ev - the other calendar event
Returns:
true if they overlap, false otherwise
Since:
jcms-4.1.1

overlapWith

public boolean overlapWith(Date startDate,
                           Date endDate)
Check if calendar event overlap with given interval

Parameters:
startDate - the start date of the interval to check
endDate - the end date of the interval to check
Returns:
true if event overlap with given interval, false otherwise
Since:
jcms-4.1.1

getCalendarEventDateSelector

public static AbstractCalendarEvent.CalendarEventDateSelector getCalendarEventDateSelector(Date startDate,
                                                                                           Date endDate)

getStartDateComparator

public static AbstractCalendarEvent.StartDateComparator<AbstractCalendarEvent> getStartDateComparator()
Returns:
a new instance of StartDateComparator

isAttendee

public boolean isAttendee(Member mbr)
Check if a given member attends this calendar event, either because he is in a group attending the event or else if he is in the list of attendees

Parameters:
mbr - the member to check
Returns:
true if the member attends the event, false otherwise

getCalendarEventAttendeeSelector

public static AbstractCalendarEvent.CalendarEventAttendeeSelector getCalendarEventAttendeeSelector(Member mbr)
Parameters:
mbr - the member to select the calendar event
Returns:
a new instance of CalendarEventAttendeeSelector initialiazed with the given member

getReminderDuration

public abstract long getReminderDuration()

setReminderDuration

public abstract void setReminderDuration(long v)

getAttendingMembers

public abstract Member[] getAttendingMembers()

setAttendingMembers

public abstract void setAttendingMembers(Member[] v)

getAttendingGroups

public abstract Group[] getAttendingGroups()

setAttendingGroups

public abstract void setAttendingGroups(Group[] v)

isReminderEnabled

public boolean isReminderEnabled()
Returns:
true if reminder is enabled, false otherwise
Since:
jcms-4.1.1

getReminderDate

public Date getReminderDate()
Returns:
the reminder date
Since:
jcms-4.1.1

getAllAttendingMembersSet

public TreeSet<Member> getAllAttendingMembersSet()
Return a set containing all the members attending this event. Contains all members from the attendees groups and the attendees member, who can read this calendar event (this set is built and cached on create/update of event).

Since:
jcms-5.0.0

removeAttendee

public boolean removeAttendee(Member mbr)
Remove given member from the attending members, updates the all member set. Note: Does not perform update in store, this method must be called on the clone to be updated.

Parameters:
mbr - the Member to remove
Returns:
true if a modification was made
Since:
jcms-5.0.0

updateAllAttendingMembersSet

public void updateAllAttendingMembersSet()
Clear and update the transient cache of all attending member set.

Since:
jcms-5.0.1

remind

public void remind()
remind author and attendees of event

Since:
jcms-4.1.1

checkIntegrity

public ControllerStatus checkIntegrity()
Checks whether or not data integrity constraints are respected.

Overrides:
checkIntegrity in class Publication
Returns:
a ControllerStatus
Since:
jcms-5.0.0

performCreate

public void performCreate(Member mbr,
                          Map context)
Performs additionnal task during creation of CalendarEvent. - Synchronize the SDate with the StartDate.

Overrides:
performCreate in class Publication
Parameters:
mbr - the member which requests the write operation
context - a map which contains context parameters (may be null)
Since:
jcms-5.5.0

performUpdate

public void performUpdate(Member mbr,
                          Map context)
Performs additionnal task during update of CalendarEvent. - Synchronize the SDate with the StartDate.

Overrides:
performUpdate in class Publication
Parameters:
mbr - the member which requests the write operation
context - a map which contains context parameters (may be null)
Since:
jcms-5.5.0


Copyright © 2001-2007 Jalios SA. All Rights Reserved.