com.jalios.jcms
Class Member

java.lang.Object
  extended by com.jalios.jstore.BasicStorable
      extended by com.jalios.jcms.Data
          extended by com.jalios.jcms.Member
All Implemented Interfaces:
EditableData, JcmsConstants, ImportConstants, MashupConstants, Storable, JaliosConstants, Cloneable, Comparable<BasicStorable>
Direct Known Subclasses:
DBMember

public class Member
extends Data
implements EditableData

A Member object contains a set of information about a JCMS referenced user.

Version:
$Revision: 25031 $
Author:
Olivier Dedieu , Olivier Jaquemet
See Also:
Group

Nested Class Summary
static class Member.AccountSelector
          Select a subset of members with the Account usage.
static class Member.AdministratorSelector
          Select a subset of administrator members
static class Member.ContactSelector
          Select a subset of members with the Contact usage.
static class Member.GroupComparator<T extends Member>
           
static class Member.LangComparator<T extends Member>
           
static class Member.LastLdapSyncComparator<T extends Member>
           
static class Member.LastLoginDateComparator<T extends Member>
          Compare member based on their last login date
static class Member.LdapAccountComparator<T extends Member>
           
static class Member.LoginComparator<T extends Member>
           
static class Member.NameComparator<T extends Member>
           
static class Member.NotificationPeriodSelector
           
static class Member.PublicationCountComparator<T extends Member>
           
static class Member.RightComparator<T extends Member>
           
static class Member.SessionComparator<T extends Member>
           
static class Member.TextSelector
          Select a set of members matching the given text in the name or in the email.
static class Member.UsageSelector
          Select a subset of members matching the specified Usage.
static class Member.ValidEmailSelector
           
static class Member.WebdavComparator<T extends Member>
           
static class Member.WorkerSelector
          Select a subset of worker members
 
Nested classes/interfaces inherited from class com.jalios.jcms.Data
Data.AuthorComparator<T extends 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
protected  String address
           
protected  boolean canEditCategories
           
protected  boolean canManageContentStaled
           
protected  boolean canPublishContent
           
protected  boolean canUpdateDeleteContent
           
protected  Group[] declaredGroups
           
protected  TreeSet<Member> delegateMemberSet
           
static String DISABLED_PASSWORD
          The value to use in a Member's password to indicate that the member is disabled and should not be allowed to log in.
static String DO_NOT_REASSIGN_PUBLICATION
          When a member is deleted his publications are reassigned to the workspace admin or the default admin.
protected  String email
           
static String EMAIL_FORMAT_HTML
          The value to use in a Member's email format to indicate that the member prefers to receive mail in HTML.
static String EMAIL_FORMAT_TEXT
          The value to use in a Member's email format to indicate that the member prefers to receive mail in plain text.
protected  String emailFormat
           
static String EXTRADBDATA_LAST_LOGIN_TIME
          The extra data name for the last login time value.
protected  String firstName
           
protected  String fullEmail
           
protected  String fullName
           
protected  Group[] groups
           
static String IGNORE_LOGIN_DATE
          It is possible to specify the date must not be registered, by setting the request attribute with this key and Boolean.TRUE as value.
protected  String info
           
protected  boolean isAdmin
           
protected  boolean isEmailVisible
           
protected  String jobTitle
           
protected  String language
           
protected  Date lastLdapSynchro
           
protected  boolean lastLoginDateCached
           
protected  SortedSet<Date> lastLoginDateSet
           
protected  Locale locale
           
protected  String login
           
static int MAX_LAST_LOGIN_DATE_HISTORY
          The maximum number of Date to keep in the last login date Set.
protected  String mobile
           
protected  String name
           
protected  Notification notification
           
static int OP_UPDATE_PROFILE
           
protected  String organization
           
protected  String password
           
protected  String phone
           
protected  String photo
           
protected  TreeSet<Category> readCategorySet
           
static String REVISION
           
protected  HashMap<String,DataRight> rightFromClassMap
           
protected  String salutation
           
protected  int usage
           
static int USAGE_ACCOUNT
           
static int USAGE_CONTACT
           
static int USE_CATEGORY_GROUP_AND_MEMBER
           
static int USE_CATEGORY_GROUP_ONLY
           
static int USE_CATEGORY_MEMBER_ONLY
           
protected  int useCategoryMode
           
protected  TreeSet<Category> useCategorySet
           
protected  boolean webdavAccess
           
 
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.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
 
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
 
Constructor Summary
Member()
           
Member(Member other)
          Constructor by copy : creates a new instance of Member from the specified Member.
 
Method Summary
 void addGroup(Group group)
          Add this member to a given group (this changes is not saved)
 boolean alertSignup(String password, boolean signupValidationRequired, boolean sendPassword)
          - Send mails to signup administrators - Send validation mail or confirmation mail
 boolean belongsToGroup(Group group)
          This convenient method returns true if this member belongs to a given group.
 boolean belongsToGroup(Group[] grps)
          This convenient method returns true if this member belongs to at least one of the given groups.
 WKRole belongsToRole()
           
 WKRole belongsToRole(boolean checkGroups)
           
 boolean belongsToRole(WKRole role)
           
 boolean belongsToRole(WKRole role, boolean checkGroups)
           
 boolean belongsToWorkspace(Workspace ws)
          This convenient method returns true if this member belongs to the given workspace.
 String buildPhotoFilename(String ext)
          Returns the photo filename for this member.
 boolean canArchive(Publication pub)
          Check if the member is in a role that can archive the given publication.
 boolean canCreateWorkCopy(Publication pub)
          Convenience method
 boolean canCreateWorkspace()
          Check if the member can create a workspace
 boolean canCreateWorkspace(Workspace model)
          Check if the member can duplicate the model to create a workspace
 boolean canDeleteOther(Class<?> clazz)
           
 boolean canDeleteOther(Class<?> clazz, Workspace ws)
           
 boolean canDeleteOther(Data data)
           
 boolean canEditCategories()
          Check if the member can edit categories.
 boolean canEditCategories(Workspace ws)
          Return true if this member can edit at least one category of this workspace
 boolean canManageCategory(Category cat)
          Check if the member can manage the given category (ie if the given category is a descendant of one of the member's root category)
 boolean canManageCategory(Category cat, boolean searchInGroups, boolean searchInParent)
          Check if the member can manage the given category (ie if the given category is a descendant of one of the member's root category)
 boolean canMergeWorkCopy(Publication pub)
          Convenience method
 boolean canPublish(Class<?> clazz)
          Check if this member can publish this clazz of data (ie if this member has rights (or belongs at least to one group that have this right) and, if the given class inherits from Publication, the member can work on the WF's init state of this class.
 boolean canPublish(Class<?> clazz, Workspace ws)
          Convenient method
 boolean canPublish(Class clazz, Set<? extends Workspace> workspaceSet)
          Check if this member can publish this clazz of data (ie if this member has rights (or belongs at least to one group that have this right) and, if the given class inherits from Publication, the member can work on the WF's init state of this class for all of it's workflow.
 boolean canPublish(Data data)
          Convenient method
 boolean canPublishAll(Class<?> clazz)
          Check if this member can publish on this class and all it's subclass
 boolean canPublishContent()
          Checks if if this member can publish something else than UGC.
 boolean canPublishContent(Workspace ws)
          Checks if if this member can publish something else than UGC.
 boolean canPublishSome(Class<?> clazz)
          Check if this member can publish on this class or one of it's subclass
 boolean canPublishSome(Class<?> clazz, Workspace ws)
          Check if this member can publish on this class or one of it's subclass in the given workspace.
 boolean canRead(Category cat, boolean searchInGroups, boolean searchInParent)
          This convenient method checks if a member can read a categorie.
 boolean canRead(Publication pub, boolean searchInGroups)
          This convenient method checks if a member can read a publication.
 boolean canUpdateDeleteContent()
           
 boolean canUpdateDeleteContent(Workspace ws)
          Check if member can perform Update or Delete for the gicen Workspace
protected  boolean canUpdateDeleteOtherCommon(Class clazz, Workspace ws, boolean checkUpdate)
           
 boolean canUpdateOther(Class<?> clazz)
           
 boolean canUpdateOther(Class<?> clazz, Workspace ws)
           
 boolean canUpdateOther(Data data)
           
 boolean canUploadPhoto()
          Returns true if this member can upload a photo.
 boolean canUseCategory(Category cat)
          Check if this member can use the given category.
 boolean canUseCategory(Category cat, boolean searchInGroups, boolean searchInParent)
          Check if this member can use the given category.
 boolean canUseDescendantCategories(Category cat, boolean checkRoot)
          Check if this member can use at least one descendant of the given category.
 boolean canWorkOn(Publication pub)
          Check if this member can work on the given publication (ie, if it has the rights and if it is in a state the member can work in).
 ControllerStatus checkCreate(Member mbr, Map context)
          Checks if the creation can be performed
 ControllerStatus checkDelete(Member mbr, Map context)
          Checks if the deletion can be performed
 ControllerStatus checkIntegrity(Map context)
          Checks whether or not data integrity constraints are respected.
 ControllerStatus checkMember(int op, Member mbr, Map context)
          Checks if the given member can perform the given operation.
 ControllerStatus checkUpdate(Member mbr, Map context)
          Checks if the update can be performed
 ControllerStatus checkUpdateProfile(Member mbr, Map context)
          Checks if the profile update can be performed
protected  void deleteMemberData(Member mbr, Map context)
           
 void disable()
          Disable this account
 void exportXmlField(StringBuffer sb, int indentLevel)
          Fills the given StringBuffer with Xml export of fields of this data.
protected  void exportXmlRelated(StringBuffer sb, String related, int indentLevel)
           
 void fillExportXmlFieldAttributes(StringBuffer sb)
          Fill the given string buffer with specific attributes of this data.
 String getAddress()
          Gets the address of this member (street address, postal code, city, country and all).
 SortedSet<Workspace> getAdministratedWorkspaceSet()
          This convenient method returns all the workspace this member is the administrator of.
 Set<Category> getCategoryRootSet()
          Returns the set of category roots the member can manage
 Set<Category> getCategoryRootSet(Workspace ws)
          Returns the set of category roots the member can manage in a given workspace
static Comparator getComparator(String str, boolean reverse)
          Retrieves a new Comparator given a name representing it.
 Set<Content> getContentSet()
          Get the value of contentSet.
 int getCookieMaxAge()
          Return the lowerest cookieMaxAge value of the groups the member belongs to.
static String getCSVHeader(String lang)
          Returns the CSV header of this object
 String getDataImage()
          Retrieves the image path of this data in the channel's main language.
 String getDataImage(String lang, boolean useDefault)
          Retrieves the image path of this data.
 String getDataName(String language)
          Return the name of this Data, every sub class Data which will be displayed to user should implements this method already.
 Group[] getDeclaredGroups()
          Get the value of declaredGroups.
 TreeSet<Member> getDelegateMemberSet()
          Gets the TreeSet of Member allowed to login as this member.
 Set<Member> getDelegationHolderSet()
          Retrieves the list of member into which this member is allowed to log in.
 int getEditCategoryMode()
           
 String getEmail()
          Gets the email address of this member.
 String getEmailFormat()
          Gets the email format requested by this member.
 TreeSet<Category> getExpandedUseCategorySet()
          Return the category set this member can use according his category use mode (group, member or group and member)
 Workspace getFavoriteWorkspace(Workspace currentWS, Class<?> clazz)
          Return the favorite Member Workspace where it can work on
 String getFirstName()
          Gets the first name of this member.
 String getFriendlyName()
          Return the name of this member nicely formated for a communication purpose (email, newsletter, welcome)
 String getFullEmail()
          Return the a full email field in the form "FirstName Name <user@company.com>"
 String getFullName()
           
static Comparator<Member> getGroupComparator(Comparator<Group> groupComparator)
           
 Group[] getGroups()
          Returns all the groups this member belongs to.
 String getHtmlIcon(String userLang)
          Return the img tag for the icon
 String getHtmlIcon(Workspace ws, String userLang)
          Return the img tag for the icon
 String getIcon()
           
 String getIcon(Workspace ws)
           
protected  String[] getIconParameter(Workspace ws, String userLang)
          Return a String[2]: Title / Alt for the given parameters
 Date getIndexingDate()
          Retrieve the Date at which this Member was indexed in its search engine.
 String getInfo()
          Gets informations available for this member.
 String getJobTitle()
          Gets the job title of this member.
static Comparator<Member> getLangComparator()
           
 String getLangSalutation(String lang)
          Return the salutation in the given language
 String getLanguage()
          Get the value of language.
static Comparator<Member> getLastLdapSyncComparator()
           
 Date getLastLdapSynchro()
          Get the value of lastLdapSynchro.
 Date getLastLoginDate()
          Retrieves the last login Date of this Member.
static Comparator<Member> getLastLoginDateComparator()
           
 SortedSet<Date> getLastLoginDateSet()
          Retrieve the last login Date of this Member.
 String getLastName()
          Gets the last name of this member.
static Comparator<Member> getLdapComparator()
           
 Locale getLocale()
          Retrieve the Locale of this member.
 String getLogin()
          Gets the login of this member.
static Comparator<Member> getLoginComparator()
           
static Member getMemberFromLogin(String login, boolean checkDisabled)
          Returns the member with the given login.
 String getMobile()
          Gets the mobile phone number of this member.
 String getName()
          Gets the name of this member.
static Comparator<Member> getNameComparator()
           
 Notification getNotification()
          Get the Notification
 String getOrganization()
          Gets the organization of this member.
 String getPassword()
          Gets the password of this member.
 String getPhone()
          Gets the phone number of this member.
 String getPhoto()
          Returns the member's photo.
static Comparator<Member> getPublicationCountComparator()
           
 Set<Publication> getPublicationSet()
          Retrieve a Set containing all the Publication of which this member is the author.
 TreeSet<Category> getReadCategorySet()
          Gets the TreeSet of Category used for Publication read right.
 DataRight getRight(Class<?> clazz, boolean searchInGroups)
          Search for a Right object bound to clazz or one of its super class.
 DataRight getRight(Class<?> clazz, boolean searchInGroups, Workspace ws)
          Search for a Right object bound to clazz or one class.
 DataRight getRight(Data data)
           
static Comparator<Member> getRightComparator()
           
 HashMap<String,DataRight> getRightFromClassMap()
          Get the value of rightFromClassMap.
 String getSalutation()
          Gets the salutation of this member as an internal non localized token.
static Comparator<Member> getSessionComparator()
           
 String getSignupConfirmationUrl(String password)
          Build an URL for SignUp validation using password and other secret data.
 Data getUpdateInstance()
          Returns an instance of this object to update it.
 int getUsage()
          Get the value of usage.
 String getUsageName(String lang)
          Returns the name of the usage.
 int getUseCategoryMode()
          Get the value of useCategoryMode.
 TreeSet<Category> getUseCategorySet()
          Get the value of useCategorySet.
 boolean getWebdavAccess()
          Get the value of webdavAccess
static Comparator<Member> getWebdavComparator()
           
 Set<Publication> getWorkspacePublicationSet()
           
 Set<Workspace> getWorkspaceSet()
           
 boolean hasExplicitRights()
           
 boolean hasPhoto()
          Returns true if this member has got a photo.
 boolean hasRead(Publication pub)
          Check if the given publication has been read by this member
 boolean hasWebdavAccess()
          This method check if member have a webdav access or belongs to a group having webdav access.
static void indexLogin(Member mbr)
          Index the login of the given member.
protected  boolean internalCanCreateWorkspace(Workspace model)
           
protected  boolean internalCanDeleteOther(Data data)
           
protected  boolean internalCanManageCategory(Category cat, boolean searchInGroups, boolean searchInParent)
           
protected  boolean internalCanPublish(Class<?> clazz, Set<? extends Workspace> workspaceSet)
           
protected  boolean internalCanUpdateDeleteOtherCommon(Class<?> clazz, Workspace ws, boolean checkUpdate)
           
protected  boolean internalCanUpdateOther(Data data)
           
protected  boolean internalCanUseCategory(Category cat, boolean searchInGroups, boolean searchInParent)
           
protected  ControllerStatus internalCheckMember(int op, Member mbr, Map context)
           
protected  boolean internalIsWorker()
           
protected  boolean internalIsWorker(Workspace ws)
           
 void invalidateCanManageContent()
          Invalidate the current status of canManageContent (the next time it will be called, it will be computed).
 boolean isAccount()
           
 boolean isAdmin()
          Checks if this member is an administrator of the site.
 boolean isAdmin(Workspace ws)
          Returns true if this member is an administrator of the given workspace
 boolean isContact()
           
 boolean isDeclaredGroup(Group group)
          Returns true if the given group is a declared groups.
 boolean isDisabled()
          Check if this member account has been disabled
 boolean isEmailValid(boolean checkDisable)
          Check if the email of this member is not empty (does not check email format validity).
 boolean isEmailVisible()
          Retrieves whether this member's email is visible to other members or not.
 boolean isLdapAccount()
          Check if this member account has been created from LDAP
 boolean isWorkAdmin()
          This convenient method check if this member is administrator of at least one workspace.
 boolean isWorker()
          Check if this member can work either on publications or on categories (this is a convenient method wich performs a 'or' on the values returned by canPublishContent(), canUpdateDeleteContent() and canEditCategories()).
 boolean isWorker(Workspace ws)
          Check if this member can work either on publications or on categories (this is a convenient method wich performs a 'or' on the values returned by canPublishContent(Workspace), canUpdateDeleteContent(Workspace) and canEditCategories()).
 void performDelete(Member mbr, Map context)
          Performs deletion
protected  void reassignMemberPubs(Member mbr, Map context)
           
 void refreshGroups()
          Refresh the groups (force groups to be inferred from declared groups)
static void refreshLoginIndex()
          Refresh login index.
 void refreshWorkspaceSet()
          Refresh the workspaces this member belongs to.
 void removeAllPhotos(boolean removePhoto)
          Removes all photo and thumbnail files for this member.
 void removeGroup(Group group)
          Remove this member from a given group(this changes is not saved)
protected  void removeMemberAttendeeCalendarEvent(Member mbr, Map context)
          Find all the (Abstract)CalendarEvent in which the member attends, and remove the member from those events, called on delete of member (this).
 void setAddress(String address)
          Set the address of this member.
 void setAdmin(boolean isAdmin)
          Sets if this member can administrate the site.
 void setDeclaredGroups(Group[] v)
          Set the value of declaredGroups.
 void setDelegateMemberSet(TreeSet<Member> v)
          Set the value of delegateMbrSet.
 void setEmail(String email)
          Set the email address of this member.
 void setEmailFormat(String emailFormat)
          Set the email format that will be used to send mail to this member.
 void setEmailVisible(boolean visible)
          Sets whether this member's email is visible to other members or not.
 void setFirstName(String firstName)
          Set the first name of this member.
 void setInfo(String info)
          Set some informations available for this member.
 void setJobTitle(String jobTitle)
          Set the job title of this member.
 void setLanguage(String v)
          Set the value of language.
 void setLastLdapSynchro(Date v)
          Set the value of lastLdapSynchro.
 void setLastLoginDate(Date date)
          Sets the last login Date of this Member.
 void setLastName(String lastName)
          Sets the last name of this member.
 void setLocale(Locale locale)
           
 void setLogin(String login)
          Set the login of this member.
 void setMobile(String mobile)
          Set the mobile phone number of this member.
 void setName(String name)
          Set the name of this member.
 void setNotification(Notification notification)
          Sets the Notification
 void setOrganization(String organization)
          Set the organization of this member.
 void setPassword(String password)
          Set the password of this member.
 void setPhone(String phone)
          Set the phone number of this member.
 void setPhoto(String photo)
          Set the member's photo.
 void setReadCategorySet(TreeSet<Category> v)
          Set the value of readCategorySet.
 void setRightFromClassMap(HashMap<String,DataRight> v)
          Set the value of rightFromClassMap.
 void setSalutation(String salutation)
          Set the salutation of this member.
 void setUsage(int v)
          Set the value of usage.
 void setUseCategoryMode(int v)
          Set the value of useCategoryMode.
 void setUseCategorySet(TreeSet<Category> v)
          Set the value of useCategorySet.
 void setWebdavAccess(boolean webdavAccess)
          Set the value of webdavAccess
 String toCSV(String lang)
          Returns a CSV view of this object
 String toFullString()
           
 String toString()
           
static void unindexLogin(Member mbr)
          Unindex the login of the given member.
 void updateContentSet(Content content, boolean add)
          Update contentSet index
 void updateDelegationHolderSet(Member mbr, boolean add)
          Internal method used to update the (transient) delegation holder set.
 void updatePublicationSet(Publication pub, boolean add)
          Update publicationSet index
protected  void updateRights(Member mbr, Map context)
           
 void updateWorkspaceSet(Workspace ws, boolean add)
          Update workspaceSet index
 
Methods inherited from class com.jalios.jcms.Data
checkCreate, checkDelete, checkIntegrity, checkLock, checkUpdate, checkWrite, clone, computeDBIDArray, exportXml, exportXml, exportXml, exportXml, exportXmlRelated, getAllReferrerSet, getAllReferrerSet, getAllTypeFieldEntry, getAuthor, getAuthor, getAuthorComparator, getAuthorDBID, getAuthorId, getAuthorSelector, getBooleanFieldValue, getBooleanFieldValue, getCaddyComparator, getCategoryFieldValue, getCategoryFieldValue, getCdateSelector, getDataImage, getDataNameComparator, getDate, getDate, getDateSelector, getDeletableSelector, getDisplayUrl, getDoubleFieldValue, getDoubleFieldValue, getExportXmlDataValue, getExtension, getExtraData, getExtraDataMap, getExtraDBData, getExtraDBDataMap, getExtraInfo, getExtraInfoMap, getFieldStatusMap, getFieldValue, getFieldValue, getFieldValue, getFieldValue, getGenericThumbnail, getImportAuthor, getImportBatch, getImportDate, getImportDisplayUrl, getImportId, getImportMap, getImportMdate, getImportSelector, getImportSignature, getImportSource, getImportSourceUrl, getImportUrl, getIntFieldValue, getIntFieldValue, getLinkCount, getLinkIndexedDataSet, getLinkIndexedDataSet, getLockDate, getLockMember, getLongFieldValue, getLongFieldValue, getMdateSelector, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getOpAuthor, getOpAuthorComparator, getOpDelegate, getRowId, getTypeEntry, getTypeFieldsEntries, hashCode, importXml, importXmlFieldsWithReferences, importXmlFiles, importXmlReferences, isImported, isImportUpdated, isInDatabase, isLocked, isPersisted, lock, markNewImport, mergeHybridLink, performAfterWrite, performBeforeWrite, performCreate, performCreate, performDelete, performUpdate, performUpdate, prepareUpdateContext, prepareUpdateContext, 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, setCdate, 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

USE_CATEGORY_GROUP_AND_MEMBER

public static final int USE_CATEGORY_GROUP_AND_MEMBER
See Also:
Constant Field Values

USE_CATEGORY_MEMBER_ONLY

public static final int USE_CATEGORY_MEMBER_ONLY
See Also:
Constant Field Values

USE_CATEGORY_GROUP_ONLY

public static final int USE_CATEGORY_GROUP_ONLY
See Also:
Constant Field Values

OP_UPDATE_PROFILE

public static final int OP_UPDATE_PROFILE
See Also:
Constant Field Values

USAGE_ACCOUNT

public static final int USAGE_ACCOUNT
See Also:
Constant Field Values

USAGE_CONTACT

public static final int USAGE_CONTACT
See Also:
Constant Field Values

DISABLED_PASSWORD

public static final String DISABLED_PASSWORD
The value to use in a Member's password to indicate that the member is disabled and should not be allowed to log in.

See Also:
setPassword(String), Constant Field Values

EMAIL_FORMAT_TEXT

public static final String EMAIL_FORMAT_TEXT
The value to use in a Member's email format to indicate that the member prefers to receive mail in plain text.

See Also:
setEmailFormat(String), Constant Field Values

EMAIL_FORMAT_HTML

public static final String EMAIL_FORMAT_HTML
The value to use in a Member's email format to indicate that the member prefers to receive mail in HTML.

See Also:
setEmailFormat(String), Constant Field Values

DO_NOT_REASSIGN_PUBLICATION

public static final String DO_NOT_REASSIGN_PUBLICATION
When a member is deleted his publications are reassigned to the workspace admin or the default admin. To avoid a publication to be reassigned, put an extraInfo {DO_NOT_REASSIGN_PUBLICATION, Boolean.TRUE} in this pub.

See Also:
Constant Field Values

usage

protected int usage

login

protected String login

password

protected String password

name

protected String name

firstName

protected String firstName

salutation

protected String salutation

organization

protected String organization

jobTitle

protected String jobTitle

email

protected String email

emailFormat

protected String emailFormat

isEmailVisible

protected boolean isEmailVisible

phone

protected String phone

mobile

protected String mobile

address

protected String address

info

protected String info

photo

protected String photo

declaredGroups

protected Group[] declaredGroups

isAdmin

protected boolean isAdmin

lastLdapSynchro

protected Date lastLdapSynchro

rightFromClassMap

protected HashMap<String,DataRight> rightFromClassMap

useCategoryMode

protected int useCategoryMode

language

protected String language

notification

protected Notification notification

webdavAccess

protected boolean webdavAccess

useCategorySet

protected TreeSet<Category> useCategorySet

readCategorySet

protected TreeSet<Category> readCategorySet

delegateMemberSet

protected TreeSet<Member> delegateMemberSet

groups

protected transient Group[] groups

canPublishContent

protected transient boolean canPublishContent

canUpdateDeleteContent

protected transient boolean canUpdateDeleteContent

canEditCategories

protected transient boolean canEditCategories

canManageContentStaled

protected transient boolean canManageContentStaled

fullName

protected transient String fullName

fullEmail

protected transient String fullEmail

locale

protected transient Locale locale

EXTRADBDATA_LAST_LOGIN_TIME

public static final String EXTRADBDATA_LAST_LOGIN_TIME
The extra data name for the last login time value.

See Also:
Constant Field Values

MAX_LAST_LOGIN_DATE_HISTORY

public static int MAX_LAST_LOGIN_DATE_HISTORY
The maximum number of Date to keep in the last login date Set.

member.max-last-login-date


lastLoginDateCached

protected transient boolean lastLoginDateCached

lastLoginDateSet

protected transient SortedSet<Date> lastLoginDateSet

IGNORE_LOGIN_DATE

public static final String IGNORE_LOGIN_DATE
It is possible to specify the date must not be registered, by setting the request attribute with this key and Boolean.TRUE as value.

See Also:
Constant Field Values
Constructor Detail

Member

public Member()

Member

public Member(Member other)
Constructor by copy : creates a new instance of Member from the specified Member.

Warning : Do not use this constructor to create an update instance for a DBMember, instead use getUpdateInstance() :

   Member updated = (Member) member.getUpdateInstance();
   update.performUpdate(...)
 

Parameters:
other - the member to copy, must not be null.
Method Detail

getUpdateInstance

public Data getUpdateInstance()
Description copied from class: Data
Returns an instance of this object to update it.

Overrides:
getUpdateInstance in class Data
Returns:
an instance of this object to update it.

toString

public String toString()
Overrides:
toString in class Data

toFullString

public String toFullString()
Overrides:
toFullString in class Data

toCSV

public String toCSV(String lang)
Returns a CSV view of this object

Overrides:
toCSV in class Data
Parameters:
lang - the output language
Returns:
a CSV view of this object
Since:
jcms-5.0.0

getCSVHeader

public static String getCSVHeader(String lang)
Returns the CSV header of this object

Parameters:
lang - the output language
Returns:
the CSV header of this object
Since:
jcms-5.0.0

fillExportXmlFieldAttributes

public void fillExportXmlFieldAttributes(StringBuffer sb)
Fill the given string buffer with specific attributes of this data.

Overrides:
fillExportXmlFieldAttributes in class Data
Parameters:
sb - the StringBuffer
Since:
jcms-5.7.1
See Also:
Data.fillExportXmlFieldAttributes(StringBuffer)

exportXmlField

public void exportXmlField(StringBuffer sb,
                           int indentLevel)
Description copied from class: Data
Fills the given StringBuffer with Xml export of fields of this data.

Overrides:
exportXmlField in class Data
Parameters:
sb - the StringBuffer
indentLevel - the indent level

getFullName

public String getFullName()
Returns:
the full name of the member (first name + name)
Since:
jcms-4.0

getIcon

public String getIcon()
Returns:
String the imgage path for the icon
Since:
jcms-5.0.0

getIcon

public String getIcon(Workspace ws)
Parameters:
ws - the current Workspace
Returns:
String the imgage path for the icon
Since:
jcms-5.0.0

getHtmlIcon

public String getHtmlIcon(String userLang)
Return the img tag for the icon

Parameters:
userLang - the current language
Returns:
the img tag for the icon
Since:
jcms-5.0.0

getHtmlIcon

public String getHtmlIcon(Workspace ws,
                          String userLang)
Return the img tag for the icon

Parameters:
ws - the current Workspace
userLang - the current language
Returns:
the img tag for the icon
Since:
jcms-5.0.0

getIconParameter

protected String[] getIconParameter(Workspace ws,
                                    String userLang)
Return a String[2]: Title / Alt for the given parameters

Parameters:
ws - the Workspace or Null
userLang - the UserLang or null
Returns:
a String[2]
Since:
jcms-5.0.0

canRead

public boolean canRead(Category cat,
                       boolean searchInGroups,
                       boolean searchInParent)
This convenient method checks if a member can read a categorie.

Parameters:
cat - the categorie
searchInGroups - if true check if one of the group this member belongs to is authorized to read the categorie.
searchInParent - if true check right on parent categories
Returns:
true if this member can read the categorie
Since:
jcms-4.1
See Also:
Category.canBeReadBy(com.jalios.jcms.Member)

canRead

public boolean canRead(Publication pub,
                       boolean searchInGroups)
This convenient method checks if a member can read a publication.

Parameters:
pub - the publication
searchInGroups - if true check if one of the group this member belongs to is authorized to read the publication.
Returns:
true if this member can read the publication
Since:
jcms-2.1
See Also:
Publication.canBeReadBy(com.jalios.jcms.Member)

canPublishContent

public boolean canPublishContent()
Checks if if this member can publish something else than UGC.

Returns:
true if this member can publish something else than UGC.
Since:
jcms-3.0

canPublishContent

public boolean canPublishContent(Workspace ws)
Checks if if this member can publish something else than UGC.

Parameters:
ws - the Workspace to work on
Returns:
true if this member can publish something else than UGC.
Since:
jcms-5.0.0

canUpdateDeleteContent

public boolean canUpdateDeleteContent()
Returns:
true if this member has the "update other" / "delete other" right" on at least one CPT.
Since:
jcms-3.0

canUpdateDeleteContent

public boolean canUpdateDeleteContent(Workspace ws)
Check if member can perform Update or Delete for the gicen Workspace

Parameters:
ws - the Workspace to ckeck
Returns:
true if this member has the "update other" / "delete other" right" on at least one CPT.
Since:
jcms-5.0.0

invalidateCanManageContent

public void invalidateCanManageContent()
Invalidate the current status of canManageContent (the next time it will be called, it will be computed).

Since:
jcms-3.0

canPublishSome

public boolean canPublishSome(Class<?> clazz)
Check if this member can publish on this class or one of it's subclass

Parameters:
clazz - the class to be checked
Returns:
true if this member can publish on this class or one of it's subclass
Since:
jcms-4.0

canPublishSome

public boolean canPublishSome(Class<?> clazz,
                              Workspace ws)
Check if this member can publish on this class or one of it's subclass in the given workspace.

Parameters:
clazz - the class to be checked
ws - the workspace to be checked
Returns:
true if this member can publish on this class or one of it's subclass
Since:
jcms-5.0.5

canPublishAll

public boolean canPublishAll(Class<?> clazz)
Check if this member can publish on this class and all it's subclass

Parameters:
clazz - the class to be checked
Returns:
true if this member can publish on this class and all it's subclass
Since:
jcms-4.0

canPublish

public boolean canPublish(Class<?> clazz)
Check if this member can publish this clazz of data (ie if this member has rights (or belongs at least to one group that have this right) and, if the given class inherits from Publication, the member can work on the WF's init state of this class.

Parameters:
clazz - the class to test
Returns:
true if member is admin or if the member has right to publish such a class and member can work
Since:
jcms-3.0

canPublish

public boolean canPublish(Class<?> clazz,
                          Workspace ws)
Convenient method

Parameters:
clazz - the class to check
ws - the Workspace to work with
Returns:
boolean true if the member can publish given class in the given workspace
Since:
jcms-4.1
See Also:
canPublish(java.lang.Class,java.util.Set)

canPublish

public boolean canPublish(Class clazz,
                          Set<? extends Workspace> workspaceSet)
Check if this member can publish this clazz of data (ie if this member has rights (or belongs at least to one group that have this right) and, if the given class inherits from Publication, the member can work on the WF's init state of this class for all of it's workflow. Since JCMS 5.0.1, this method also check that the clazz can be published in at least one workspace.

Parameters:
clazz - the class to test
workspaceSet - the set of workspace to work on
Returns:
true if member is admin or if the member has right to publish such a class and member can work
Since:
jcms-4.1

internalCanPublish

protected boolean internalCanPublish(Class<?> clazz,
                                     Set<? extends Workspace> workspaceSet)

canPublish

public boolean canPublish(Data data)
Convenient method

Parameters:
data - the Data to check
Returns:
true if the member can publish the class of the given data class
See Also:
canPublish(java.lang.Class)

canArchive

public boolean canArchive(Publication pub)
Check if the member is in a role that can archive the given publication. It checks if the member has the right to put this publication in the archived state in the workflow of the publication, but it does not take into account the current state of the publication.

Parameters:
pub - the publication to check
Returns:
true if it can archive the publication false otherwise

canUpdateOther

public boolean canUpdateOther(Class<?> clazz)

internalCanUpdateDeleteOtherCommon

protected boolean internalCanUpdateDeleteOtherCommon(Class<?> clazz,
                                                     Workspace ws,
                                                     boolean checkUpdate)

canUpdateDeleteOtherCommon

protected boolean canUpdateDeleteOtherCommon(Class clazz,
                                             Workspace ws,
                                             boolean checkUpdate)

canUpdateOther

public boolean canUpdateOther(Class<?> clazz,
                              Workspace ws)

canUpdateOther

public boolean canUpdateOther(Data data)

internalCanUpdateOther

protected boolean internalCanUpdateOther(Data data)

canDeleteOther

public boolean canDeleteOther(Data data)

internalCanDeleteOther

protected boolean internalCanDeleteOther(Data data)

canDeleteOther

public boolean canDeleteOther(Class<?> clazz)

canDeleteOther

public boolean canDeleteOther(Class<?> clazz,
                              Workspace ws)

getRight

public DataRight getRight(Data data)

getRight

public DataRight getRight(Class<?> clazz,
                          boolean searchInGroups)
Search for a Right object bound to clazz or one of its super class. If none right are found, search in the groups rights.

Parameters:
clazz - the Class the right is searched for
searchInGroups - if true, the search will be continued in the groups rights if none member rights have been found
Returns:
the Right object bound to the clazz (or null if none)

getRight

public DataRight getRight(Class<?> clazz,
                          boolean searchInGroups,
                          Workspace ws)
Search for a Right object bound to clazz or one class. If none right are found, search in the groups rights of the given workspace. If searchInGroups is false and result is null, that means for that member, the DataRight has to be looked for in the groups.

Parameters:
clazz - the Class the right is searched for
searchInGroups - if true, the search will be continued in the groups rights if none member rights have been found
ws - only used if searchInGroups true. If ws is null, search in the global groups otherwise search in groups of ws.
Returns:
the Right object bound to the clazz (or null if none)
Since:
jcms-4.1

canWorkOn

public boolean canWorkOn(Publication pub)
Check if this member can work on the given publication (ie, if it has the rights and if it is in a state the member can work in).

Parameters:
pub - the publication
Returns:
true if the member can work on the publication
Since:
jcms-3.0

isWorker

public boolean isWorker()
Check if this member can work either on publications or on categories (this is a convenient method wich performs a 'or' on the values returned by canPublishContent(), canUpdateDeleteContent() and canEditCategories()).

Returns:
true if the member can work at least on one publication type (except review) or he can edit the categories.
Since:
jcms-4.0
See Also:
canPublishContent(), canUpdateDeleteContent(), canEditCategories()

internalIsWorker

protected boolean internalIsWorker()

isWorker

public boolean isWorker(Workspace ws)
Check if this member can work either on publications or on categories (this is a convenient method wich performs a 'or' on the values returned by canPublishContent(Workspace), canUpdateDeleteContent(Workspace) and canEditCategories()).

Parameters:
ws - the workspace to check
Returns:
true if the member can work at least on one publication type (except review) or he can edit the categories.
Since:
jcms-5.0.0
See Also:
canPublishContent(Workspace), canUpdateDeleteContent(Workspace), canEditCategories()

internalIsWorker

protected boolean internalIsWorker(Workspace ws)

getEditCategoryMode

public int getEditCategoryMode()

isAdmin

public boolean isAdmin(Workspace ws)
Returns true if this member is an administrator of the given workspace

Parameters:
ws - the workspace to be checked
Returns:
true if this member is an administrator of the given workspace
Since:
jcms-4.1

hasExplicitRights

public boolean hasExplicitRights()

hasWebdavAccess

public boolean hasWebdavAccess()
This method check if member have a webdav access or belongs to a group having webdav access.

Returns:
boolean true if member have webdav Access
Since:
jcms-5.5.0

isDisabled

public boolean isDisabled()
Check if this member account has been disabled

Returns:
true if the account is disabeld
Since:
jcms-4.0

disable

public void disable()
Disable this account

Since:
jcms-4.0.2

isLdapAccount

public boolean isLdapAccount()
Check if this member account has been created from LDAP

Returns:
boolean true if it is an LDAP Account
Since:
jcms-4.0

getLastLdapSynchro

public Date getLastLdapSynchro()
Get the value of lastLdapSynchro.

Returns:
Value of lastLdapSynchro.
Since:
jcms-4.0

setLastLdapSynchro

public void setLastLdapSynchro(Date v)
Set the value of lastLdapSynchro.

Parameters:
v - Value to assign to lastLdapSynchro.
Since:
jcms-4.0

getWebdavAccess

public boolean getWebdavAccess()
Get the value of webdavAccess

Returns:
boolean true if Webdav Access is enabled
Since:
jcms-5.5.0

setWebdavAccess

public void setWebdavAccess(boolean webdavAccess)
Set the value of webdavAccess

Parameters:
webdavAccess -
Since:
jcms-5.5.0

isEmailVisible

public boolean isEmailVisible()
Retrieves whether this member's email is visible to other members or not.

Returns:
true if it is visible, false otherwise

setEmailVisible

public void setEmailVisible(boolean visible)
Sets whether this member's email is visible to other members or not.

Parameters:
visible - true if it is visible, false otherwise

belongsToGroup

public boolean belongsToGroup(Group group)
This convenient method returns true if this member belongs to a given group.

Parameters:
group - the group
Returns:
true if this member belongs to the given group, false otherwise.
Since:
jcms-2.1

belongsToGroup

public boolean belongsToGroup(Group[] grps)
This convenient method returns true if this member belongs to at least one of the given groups.

Parameters:
grps - the groups to be checked
Returns:
true if this member belongs to one of the given groups, false otherwise.
Since:
jcms-3.0

getCookieMaxAge

public int getCookieMaxAge()
Return the lowerest cookieMaxAge value of the groups the member belongs to.

Returns:
the cookie max-age value in seconds.
Since:
jcms-2.1

getGroups

public Group[] getGroups()
Returns all the groups this member belongs to.

Returns:
all the groups this member belongs to.
Since:
jcms-5.6.0

isDeclaredGroup

public boolean isDeclaredGroup(Group group)
Returns true if the given group is a declared groups.

Parameters:
group - the group to be tests.
Returns:
true if the given group is a declared groups.
Since:
jcms-5.6.0

refreshGroups

public void refreshGroups()
Refresh the groups (force groups to be inferred from declared groups)

Since:
jcms-5.6.0

getDeclaredGroups

public Group[] getDeclaredGroups()
Get the value of declaredGroups.

Returns:
Value of declaredGroups.
Since:
jcms-5.6.0

setDeclaredGroups

public void setDeclaredGroups(Group[] v)
Set the value of declaredGroups.

Parameters:
v - Value to assign to declaredGroups.
Since:
jcms-5.6.0

addGroup

public void addGroup(Group group)
Add this member to a given group (this changes is not saved)

Parameters:
group - the group to be added.
Since:
jcms-5.6.2

removeGroup

public void removeGroup(Group group)
Remove this member from a given group(this changes is not saved)

Parameters:
group - the group to be removed.
Since:
jcms-5.6.2

hasRead

public boolean hasRead(Publication pub)
Check if the given publication has been read by this member

Parameters:
pub - the publication read
Returns:
true if readed false instead
Since:
jcms-4.0.2
See Also:
Publication.hasBeenReadBy(Member)

getNotification

public Notification getNotification()
Get the Notification

Returns:
the notification

setNotification

public void setNotification(Notification notification)
Sets the Notification

Parameters:
notification - the notification
Since:
jcms-4.0

canEditCategories

public boolean canEditCategories()
Check if the member can edit categories. Caution: the semantics of this method changed since jcms-3.0. To have fine grain information, please use getCategoryRootSet() method.

Returns:
true if the member can edit at least on root of category
See Also:
getCategoryRootSet()

canEditCategories

public boolean canEditCategories(Workspace ws)
Return true if this member can edit at least one category of this workspace

Parameters:
ws - the Workspace to check with
Returns:
true if this member can edit at least one category of this workspace
See Also:
getCategoryRootSet()

getCategoryRootSet

public Set<Category> getCategoryRootSet()
Returns the set of category roots the member can manage

Returns:
a Set of Category (or an empty set if this member has no category right)

getCategoryRootSet

public Set<Category> getCategoryRootSet(Workspace ws)
Returns the set of category roots the member can manage in a given workspace

Parameters:
ws - the Workspace to be test (null for all workspace)
Returns:
a Set of Category (or an empty set if this member has no category right)

canManageCategory

public boolean canManageCategory(Category cat)
Check if the member can manage the given category (ie if the given category is a descendant of one of the member's root category)

Parameters:
cat - the category to test
Returns:
true if this member can manage the category
Since:
jcms-3.0

canManageCategory

public boolean canManageCategory(Category cat,
                                 boolean searchInGroups,
                                 boolean searchInParent)
Check if the member can manage the given category (ie if the given category is a descendant of one of the member's root category)

Parameters:
cat - the category to test
searchInGroups - if true check if one of the group this member belongs to is authorized to read the categorie.
searchInParent - if true check right on parent categories
Returns:
true if this member can manage the category
Since:
jcms-4.1

internalCanManageCategory

protected boolean internalCanManageCategory(Category cat,
                                            boolean searchInGroups,
                                            boolean searchInParent)

canCreateWorkspace

public boolean canCreateWorkspace()
Check if the member can create a workspace

Returns:
true if this member can create a Workspace
Since:
jcms-5.7.3

canCreateWorkspace

public boolean canCreateWorkspace(Workspace model)
Check if the member can duplicate the model to create a workspace

Parameters:
model - the workspace to duplicate
Returns:
true if this member can create a Workspace from the model
Since:
jcms-5.7.3

internalCanCreateWorkspace

protected boolean internalCanCreateWorkspace(Workspace model)

getExpandedUseCategorySet

public TreeSet<Category> getExpandedUseCategorySet()
Return the category set this member can use according his category use mode (group, member or group and member)

Returns:
a TreeSet of category this member can use
Since:
jcms-4.0

canUseCategory

public boolean canUseCategory(Category cat)
Check if this member can use the given category.

Parameters:
cat - the category to check
Returns:
true if this member can use the given category.
Since:
jcms-4.0
See Also:
canUseCategory(Category, boolean, boolean)

canUseCategory

public boolean canUseCategory(Category cat,
                              boolean searchInGroups,
                              boolean searchInParent)
Check if this member can use the given category.

Parameters:
cat - the category to check
searchInGroups - if true check if one of the group this member belongs to is authorized to read the categorie.
searchInParent - if true check right on parent categories
Returns:
true if this member can use the given category.
Since:
jcms-5.5.0

internalCanUseCategory

protected boolean internalCanUseCategory(Category cat,
                                         boolean searchInGroups,
                                         boolean searchInParent)

canUseDescendantCategories

public boolean canUseDescendantCategories(Category cat,
                                          boolean checkRoot)
Check if this member can use at least one descendant of the given category.

Parameters:
cat - the category to check
checkRoot - if true check also the given category
Returns:
true if this member can use at least one descendant of the given category.
Since:
jcms-4.0

getUseCategorySet

public TreeSet<Category> getUseCategorySet()
Get the value of useCategorySet.

Returns:
Value of useCategorySet.
Since:
jcms-4.0

setUseCategorySet

public void setUseCategorySet(TreeSet<Category> v)
Set the value of useCategorySet.

Parameters:
v - Value to assign to useCategorySet.
Since:
jcms-4.0

getUseCategoryMode

public int getUseCategoryMode()
Get the value of useCategoryMode.

Returns:
Value of useCategoryMode.
Since:
jcms-4.0

setUseCategoryMode

public void setUseCategoryMode(int v)
Set the value of useCategoryMode.

Parameters:
v - Value to assign to useCategoryMode.
Since:
jcms-4.0

getUsage

public int getUsage()
Get the value of usage.

Returns:
the value of usage.
Since:
jcms-6.1.0

setUsage

public void setUsage(int v)
Set the value of usage.

Parameters:
v - Value to assign to usage.
Since:
jcms-6.1.0

getUsageName

public String getUsageName(String lang)
Returns the name of the usage.

Returns:
the name of the usage.
Since:
jcms-6.1.0

isAccount

public boolean isAccount()

isContact

public boolean isContact()

getReadCategorySet

public TreeSet<Category> getReadCategorySet()
Gets the TreeSet of Category used for Publication read right. This category set contains all the categories a publication must match in order to be visible by this member.

Returns:
a TreeSet of Category.
Since:
jcms-5.5.0

setReadCategorySet

public void setReadCategorySet(TreeSet<Category> v)
Set the value of readCategorySet.

Parameters:
v - Value to assign to readCategorySet.
Since:
jcms-5.5.0

getDelegateMemberSet

public TreeSet<Member> getDelegateMemberSet()
Gets the TreeSet of Member allowed to login as this member.

Returns:
a TreeSet of Category.
Since:
jcms-5.7.0

setDelegateMemberSet

public void setDelegateMemberSet(TreeSet<Member> v)
Set the value of delegateMbrSet.

Parameters:
v - Value to assign to delegateMbrSet.
Since:
jcms-5.7.0

updateDelegationHolderSet

public void updateDelegationHolderSet(Member mbr,
                                      boolean add)
Internal method used to update the (transient) delegation holder set.

Parameters:
mbr - the member to add or remove from the delegation holder set.
add - true -> add, false -> remove

getDelegationHolderSet

public Set<Member> getDelegationHolderSet()
Retrieves the list of member into which this member is allowed to log in.

Returns:
a TreeSet of Member (internal variable exposed, do not modify the returned set)

getLangSalutation

public String getLangSalutation(String lang)
Return the salutation in the given language

Parameters:
lang - the language
Returns:
the String bound to the member's salutation
Since:
jcms-4.0

getLanguage

public String getLanguage()
Get the value of language.

Returns:
Value of language.
Since:
jcms-4.0

setLanguage

public void setLanguage(String v)
Set the value of language.

Parameters:
v - Value to assign to language.
Since:
jcms-4.0

canCreateWorkCopy

public boolean canCreateWorkCopy(Publication pub)
Convenience method

Parameters:
pub - used to create work copy
Returns:
true if the publication can be used
Since:
jcms-4.0
See Also:
Publication.canCreateWorkCopy(Member)

canMergeWorkCopy

public boolean canMergeWorkCopy(Publication pub)
Convenience method

Parameters:
pub - The publication to merge.
Returns:
boolean true if publication can be merged
Since:
jcms-4.0
See Also:
Publication.canMergeWorkCopy(Member)

getWorkspaceSet

public Set<Workspace> getWorkspaceSet()
Returns:
a Set of all Workspace the member belongs to.
Since:
jcms-4.1

refreshWorkspaceSet

public void refreshWorkspaceSet()
Refresh the workspaces this member belongs to.

Since:
jcms-5.6.2

updateWorkspaceSet

public void updateWorkspaceSet(Workspace ws,
                               boolean add)
Update workspaceSet index

Parameters:
ws - the workspace to be added or removed
add - add if true, remove if false
Since:
jcms-5.0.1

belongsToWorkspace

public boolean belongsToWorkspace(Workspace ws)
This convenient method returns true if this member belongs to the given workspace.

Parameters:
ws - the workspace to be checked
Returns:
true if this member belongs to this workspace
Since:
jcms-4.1

getWorkspacePublicationSet

public Set<Publication> getWorkspacePublicationSet()

belongsToRole

public WKRole belongsToRole()
Returns:
the first WKRole the member belongs to
Since:
jcms-4.1

belongsToRole

public WKRole belongsToRole(boolean checkGroups)
Parameters:
checkGroups - check also for member groups
Returns:
the first WKRole the member belongs to
Since:
jcms-4.1

belongsToRole

public boolean belongsToRole(WKRole role)
Parameters:
role - a WKRole
Returns:
true if member belongs to the WKRole
Since:
jcms-4.1

belongsToRole

public boolean belongsToRole(WKRole role,
                             boolean checkGroups)
Parameters:
role - a WKRole
checkGroups - check also for member groups
Returns:
true if member belongs to the WKRole
Since:
jcms-4.1

getAdministratedWorkspaceSet

public SortedSet<Workspace> getAdministratedWorkspaceSet()
This convenient method returns all the workspace this member is the administrator of.

Returns:
a set of workspace.
Since:
jcms-5.5.0

isWorkAdmin

public boolean isWorkAdmin()
This convenient method check if this member is administrator of at least one workspace.

Returns:
true if this member is administrator of at least one workspace.
Since:
jcms-4.1

getFavoriteWorkspace

public Workspace getFavoriteWorkspace(Workspace currentWS,
                                      Class<?> clazz)
Return the favorite Member Workspace where it can work on

Parameters:
currentWS - the current Workspace
clazz - the class to publish
Returns:
the workspace to use

isEmailValid

public boolean isEmailValid(boolean checkDisable)
Check if the email of this member is not empty (does not check email format validity).

Parameters:
checkDisable - check if the account is disabled (set to true to consider disabled member as invalid emails)
Returns:
true if this member has set an email
Since:
jcms-6.0.2
See Also:
MailUtil.checkEmail(String)

getFullEmail

public String getFullEmail()
Return the a full email field in the form "FirstName Name <user@company.com>"

Returns:
String the full email
Since:
jcms-5.0.0

getFriendlyName

public String getFriendlyName()
Return the name of this member nicely formated for a communication purpose (email, newsletter, welcome)

Returns:
String the Friendly Name
Since:
jcms-5.0.0

getSignupConfirmationUrl

public String getSignupConfirmationUrl(String password)
Build an URL for SignUp validation using password and other secret data.

Parameters:
password -
Returns:
String representing confirmation url
Since:
jcms-5.0.3

alertSignup

public boolean alertSignup(String password,
                           boolean signupValidationRequired,
                           boolean sendPassword)
- Send mails to signup administrators - Send validation mail or confirmation mail

Parameters:
password -
signupValidationRequired -
sendPassword -
Returns:
boolean true if alert has been done

hasPhoto

public boolean hasPhoto()
Returns true if this member has got a photo.

Returns:
true if this member has got a photo.
Since:
jcms-5.7.0

canUploadPhoto

public boolean canUploadPhoto()
Returns true if this member can upload a photo.

Returns:
true if this member can upload a photo.
Since:
jcms-5.7.0

getDataName

public String getDataName(String language)
Description copied from class: Data
Return the name of this Data, every sub class Data which will be displayed to user should implements this method already.
Can be seen as a smart multi-language toString(), but never returning null.
Default behaviour is to return toFullString() of Data or empty string if toFullString is null.

Overrides:
getDataName in class Data
Parameters:
language - the language in which to return the name if multilang available for the data.
Returns:
name of Member or empty String if not specified.
Since:
jcms-5.1
See Also:
getFullName(), Data.getDataName(String)

getDataImage

public String getDataImage()
Description copied from class: Data
Retrieves the image path of this data in the channel's main language.

This method can (should) be implemented by subclasses to provide an image/illustration of this Data.
Default behaviour is to return empty string.

Overrides:
getDataImage in class Data
Returns:
a path relative to the webapp root.

getDataImage

public String getDataImage(String lang,
                           boolean useDefault)
Description copied from class: Data
Retrieves the image path of this data.

This method can (should) be implemented by subclasses to provide an image/illustration of this Data.
Default behaviour is to return empty string.

Overrides:
getDataImage in class Data
Parameters:
lang - the user language (ISO-639 language code)
useDefault - should the default language be used if no value is found for the specified language
Returns:
a path relative to the webapp root.

getLastName

public String getLastName()
Gets the last name of this member.

This method simply invoke getName() which does exactly the same thing.

Returns:
the member's last name or null if the last name has not been set.
Since:
jcms-6.1

setLastName

public void setLastName(String lastName)
Sets the last name of this member.

This method simply invoke setName(String) which does exactly the same thing.

Parameters:
lastName - the last name to use for this member.
Since:
jcms-6.1

getName

public String getName()
Gets the name of this member.

Returns:
the member's name or null if the name has not been set.

setName

public void setName(String name)
Set the name of this member.

Parameters:
name - the name to use.

getFirstName

public String getFirstName()
Gets the first name of this member.

Returns:
the member's first name or null if the first name has not been set.
Since:
jcms-4.0

setFirstName

public void setFirstName(String firstName)
Set the first name of this member.

Parameters:
firstName - the first name to use.
Since:
jcms-4.0

isAdmin

public boolean isAdmin()
Checks if this member is an administrator of the site.

Returns:
true if this member is and administrator, false otherwise.

setAdmin

public void setAdmin(boolean isAdmin)
Sets if this member can administrate the site.

Parameters:
isAdmin - true if this member is and administrator, false otherwise.

getSalutation

public String getSalutation()
Gets the salutation of this member as an internal non localized token.
The salutation is usually one those values : You can then append this value to the language property "ui.com.lbl.salut." to retrieve the salutation in a localized form.

Returns:
the member's salutation or null if the salutation has not been set.
Since:
jcms-4.0

setSalutation

public void setSalutation(String salutation)
Set the salutation of this member.

Parameters:
salutation - the salutation token to use, usually one those values
  • "mr"
  • "mrs"
  • "miss"
Even these are the usual string used for the salutation, you can use any other value, as long as you provide the corresponding I18N language property "ui.com.lbl.salut.{value}"
Since:
jcms-4.0

getOrganization

public String getOrganization()
Gets the organization of this member.

Returns:
the organization of this member.
Since:
jcms-6.1.0

setOrganization

public void setOrganization(String organization)
Set the organization of this member.

Parameters:
organization - the organization to use.
Since:
jcms-6.1.0

getJobTitle

public String getJobTitle()
Gets the job title of this member.

Returns:
the job title of this member.
Since:
jcms-4.0

setJobTitle

public void setJobTitle(String jobTitle)
Set the job title of this member.

Parameters:
jobTitle - the job title to use.
Since:
jcms-4.0

getPhone

public String getPhone()
Gets the phone number of this member.

Returns:
the member's phone number or null if the phone number has not been set.
Since:
jcms-4.0

setPhone

public void setPhone(String phone)
Set the phone number of this member.

Parameters:
phone - the phone number to use.
Since:
jcms-4.0

getMobile

public String getMobile()
Gets the mobile phone number of this member.

Returns:
the member's mobile phone number or null if the mobile phone number has not been set.
Since:
jcms-4.0

setMobile

public void setMobile(String mobile)
Set the mobile phone number of this member.

Parameters:
mobile - the mobile phone number to use.
Since:
jcms-4.0

getAddress

public String getAddress()
Gets the address of this member (street address, postal code, city, country and all).

Returns:
the member's address or null if the address has not been set.
Since:
jcms-4.0

setAddress

public void setAddress(String address)
Set the address of this member.

Parameters:
address - the address (street address, postal code, city, country and all) to use.
Since:
jcms-4.0

getEmail

public String getEmail()
Gets the email address of this member.

Returns:
the member's email addres or null if the email address has not been set.

setEmail

public void setEmail(String email)
Set the email address of this member.

Parameters:
email - the email address to use.

getEmailFormat

public String getEmailFormat()
Gets the email format requested by this member.
Must be one of the following values : As of current implementation, default value for a new member is EMAIL_FORMAT_HTML.

Returns:
the member's email format or null if the email format has not been set.

setEmailFormat

public void setEmailFormat(String emailFormat)
Set the email format that will be used to send mail to this member.

Parameters:
emailFormat - the email format to use, must be one of the following values : As of current implementation, default value for a new member is EMAIL_FORMAT_HTML.

getInfo

public String getInfo()
Gets informations available for this member.

Returns:
the member's information or null if the information has not been set.

setInfo

public void setInfo(String info)
Set some informations available for this member.

Parameters:
info - the informations to use.

getPhoto

public String getPhoto()
Returns the member's photo.

Returns:
the member's photo.
Since:
jcms-5.7.0

setPhoto

public void setPhoto(String photo)
Set the member's photo.

Parameters:
photo - the member's photo
Since:
jcms-5.7.0

getLogin

public String getLogin()
Gets the login of this member.

Returns:
the member's login or null if the login has not been set (which should never happen).

setLogin

public void setLogin(String login)
Set the login of this member.

Parameters:
login - the login to use, can be any string (id, email, ...), as long as it is kept unique over all members.

getPassword

public String getPassword()
Gets the password of this member.
This member's account will be disabled if the password is equal to the constant DISABLED_PASSWORD.

Returns:
the member's password or null if the password has not been set.

setPassword

public void setPassword(String password)
Set the password of this member.

Parameters:
password - the password to use. Use constants DISABLED_PASSWORD as password value to disable this member.

getRightFromClassMap

public HashMap<String,DataRight> getRightFromClassMap()
Get the value of rightFromClassMap.

Returns:
Value of rightFromClassMap.

setRightFromClassMap

public void setRightFromClassMap(HashMap<String,DataRight> v)
Set the value of rightFromClassMap.

Parameters:
v - Value to assign to rightFromClassMap.

getPublicationSet

public Set<Publication> getPublicationSet()
Retrieve a Set containing all the Publication of which this member is the author.

Returns:
a Set of Publication, never return null.

updatePublicationSet

public void updatePublicationSet(Publication pub,
                                 boolean add)
Update publicationSet index

Parameters:
pub - the publication to be added or removed
add - add if true, remove if false
Since:
jcms-5.0.1

getContentSet

public Set<Content> getContentSet()
Get the value of contentSet.

Returns:
Value of contentSet.
Since:
jcms-4.0

updateContentSet

public void updateContentSet(Content content,
                             boolean add)
Update contentSet index

Parameters:
content - the content to be added or removed
add - add if true, remove if false
Since:
jcms-5.0.1

getNameComparator

public static Comparator<Member> getNameComparator()

getLoginComparator

public static Comparator<Member> getLoginComparator()

getGroupComparator

public static Comparator<Member> getGroupComparator(Comparator<Group> groupComparator)

getPublicationCountComparator

public static Comparator<Member> getPublicationCountComparator()

getRightComparator

public static Comparator<Member> getRightComparator()

getLdapComparator

public static Comparator<Member> getLdapComparator()

getLastLdapSyncComparator

public static Comparator<Member> getLastLdapSyncComparator()

getLangComparator

public static Comparator<Member> getLangComparator()

getWebdavComparator

public static Comparator<Member> getWebdavComparator()

getSessionComparator

public static Comparator<Member> getSessionComparator()

getLastLoginDateComparator

public static Comparator<Member> getLastLoginDateComparator()

getComparator

public static Comparator getComparator(String str,
                                       boolean reverse)
Retrieves a new Comparator given a name representing it. The returned comparator can be used to sort any Collection containing Members.

You can specify any of the following value:
  • "name": getNameComparator()
  • "login": getLoginComparator()
  • "group": getGroupComparator(Comparator)
  • "pubCount": getPublicationCountComparator()
  • "right": getRightComparator()
  • "ldap": getLdapComparator()
  • "lang": getLangComparator()
  • "session": getSessionComparator()
  • "webdav": getWebdavComparator()
  • "lastLdapSync": getLastLdapSyncComparator()
  • "lastLoginDate": getLastLoginDateComparator()

  • And also any of the value available through Data.getComparator(String, boolean)

    Parameters:
    str - a string representing the comparator
    reverse - a boolean indicating whether the comparator should have its behavior reversed (true) or unchanged (false)
    Returns:
    a new instance of Comparator.
    See Also:
    Data.getComparator(String, boolean)

    checkIntegrity

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

    Overrides:
    checkIntegrity in class Data
    Parameters:
    context - a map which contains context parameters (may be null)
    Returns:
    a ControllerStatus
    Since:
    jcms-6.1

    checkMember

    public ControllerStatus checkMember(int op,
                                        Member mbr,
                                        Map context)
    Checks if the given member can perform the given operation.

    Overrides:
    checkMember in class Data
    Parameters:
    op - the operation (OP_CREATE, OP_UPDATE, ...)
    mbr - the member which requests the write operation
    context - a map which contains context parameters (may be null)
    Returns:
    a ControllerStatus
    Since:
    jcms-5.0.0

    internalCheckMember

    protected ControllerStatus internalCheckMember(int op,
                                                   Member mbr,
                                                   Map context)

    checkCreate

    public ControllerStatus checkCreate(Member mbr,
                                        Map context)
    Description copied from class: Data
    Checks if the creation can be performed

    Overrides:
    checkCreate in class Data
    Parameters:
    mbr - the member which requests the write operation
    context - a map which contains context parameters (may be null)
    Returns:
    a ControllerStatus

    checkUpdate

    public ControllerStatus checkUpdate(Member mbr,
                                        Map context)
    Checks if the update can be performed

    Overrides:
    checkUpdate in class Data
    Parameters:
    mbr - the member which requests the write operation
    context - a map which contains context parameters (may be null)
    Returns:
    a ControllerStatus
    Since:
    jcms-5.0.0

    checkDelete

    public ControllerStatus checkDelete(Member mbr,
                                        Map context)
    Checks if the deletion can be performed

    Overrides:
    checkDelete in class Data
    Parameters:
    mbr - the member which requests the write operation
    context - a map which contains context parameters (may be null)
    Returns:
    a ControllerStatus
    Since:
    jcms-5.0.0

    checkUpdateProfile

    public ControllerStatus checkUpdateProfile(Member mbr,
                                               Map context)
    Checks if the profile update can be performed

    Parameters:
    mbr - the member which requests the write operation
    context - a map which contains context parameters (may be null)
    Returns:
    a ControllerStatus
    Since:
    jcms-5.0.0

    performDelete

    public void performDelete(Member mbr,
                              Map context)
    Performs deletion

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

    removeMemberAttendeeCalendarEvent

    protected void removeMemberAttendeeCalendarEvent(Member mbr,
                                                     Map context)
    Find all the (Abstract)CalendarEvent in which the member attends, and remove the member from those events, called on delete of member (this).

    Parameters:
    mbr - the member which requests the operation
    context - a map which contains context parameters (may be null)

    deleteMemberData

    protected void deleteMemberData(Member mbr,
                                    Map context)

    reassignMemberPubs

    protected void reassignMemberPubs(Member mbr,
                                      Map context)

    updateRights

    protected void updateRights(Member mbr,
                                Map context)

    getMemberFromLogin

    public static Member getMemberFromLogin(String login,
                                            boolean checkDisabled)
    Returns the member with the given login.

    Parameters:
    login - the member's login
    checkDisabled - if true, return null if accound is disabled
    Returns:
    the member or null if no active member has this login.
    Since:
    jcms-5.0.1

    refreshLoginIndex

    public static void refreshLoginIndex()
    Refresh login index.

    Since:
    jcms-5.0.3

    indexLogin

    public static void indexLogin(Member mbr)
    Index the login of the given member.

    Parameters:
    mbr - the member to be registered
    Since:
    jcms-5.0.1

    unindexLogin

    public static void unindexLogin(Member mbr)
    Unindex the login of the given member.

    Parameters:
    mbr - the member to be unregistered
    Since:
    jcms-5.0.1

    getLocale

    public Locale getLocale()
    Retrieve the Locale of this member.

    Returns:
    a Locale object initialized with its language TODO: add country and variant management
    Since:
    jcms-5.7

    setLocale

    public void setLocale(Locale locale)

    buildPhotoFilename

    public String buildPhotoFilename(String ext)
    Returns the photo filename for this member.

    Parameters:
    ext - the file extension (eg. "gif", "jpg" or "png");
    Returns:
    the photo filename for this member
    Since:
    jcms-5.7.0

    removeAllPhotos

    public void removeAllPhotos(boolean removePhoto)
    Removes all photo and thumbnail files for this member.

    Parameters:
    removePhoto - if true the file of the photo will be deleted.
    Since:
    jcms-5.7.0

    getLastLoginDateSet

    public SortedSet<Date> getLastLoginDateSet()
    Retrieve the last login Date of this Member.

    Returns:
    a Set of Date, return an empty set if this user has never been logged, (never return null).

    getLastLoginDate

    public Date getLastLoginDate()
    Retrieves the last login Date of this Member.

    Returns:
    a Date (GMT) or null if this user has never been logged in.

    setLastLoginDate

    public void setLastLoginDate(Date date)
    Sets the last login Date of this Member.

    Parameters:
    date - the last login date, or null to use now.

    exportXmlRelated

    protected void exportXmlRelated(StringBuffer sb,
                                    String related,
                                    int indentLevel)
    Overrides:
    exportXmlRelated in class Data

    getIndexingDate

    public Date getIndexingDate()
    Retrieve the Date at which this Member was indexed in its search engine.

    Returns:
    a Date or null if was not indexed.
    Since:
    jcms-6.1.0


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