com.jalios.jcms
Class Group

java.lang.Object
  extended by com.jalios.jstore.BasicStorable
      extended by com.jalios.jcms.Data
          extended by com.jalios.jcms.Group
All Implemented Interfaces:
AccessControlConstants, EditableData, JcmsConstants, ImportConstants, MashupConstants, Storable, JaliosConstants, LangPropertyArgument, Cloneable, Comparable<BasicStorable>

public class Group
extends Data
implements EditableData, AccessControlConstants

A Group object is referenced by a set of Member instances.

Version:
$Revision: 42628 $
Author:
Olivier Dedieu
See Also:
Member

Nested Class Summary
static class Group.AclComparator<T extends Group>
          DataComparator sorting groups using their ACL.
static class Group.DataRightComparator<T extends Group>
          This comparator sort groups according the DataRight they have.
static class Group.LastLdapSyncComparator<T extends Group>
           
static class Group.LeafSelector
          Select leaf groups.
static class Group.MemberCountComparator<T extends Group>
           
static class Group.MemberSelector
          Select groups the given member can read.
static class Group.NameComparator<T extends Group>
           
static class Group.NameSelector
          Select groups by their name.
static class Group.NotificationPeriodSelector
          Select groups that have at least one NotificationCriteria for which the period is equal to the period of the period given to the constructor.
static class Group.OrderComparator<T extends Group>
           
static class Group.ParentSelector
           
static class Group.WorkspaceComparator<T extends Group>
           
static class Group.WorkspaceSelector
          DataSelector selecting Groups based on their Workspace.
 
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>, Data.RowIdComparator<T extends Data>, Data.StrongLockSelector
 
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  AccessControlList accessControlList
           
protected  int cookieMaxAge
           
protected  int cookieMaxAgeResolved
           
protected  Date lastLdapSynchro
           
protected  String ldapDN
           
protected  boolean ldapSync
           
protected  String name
           
protected  HashMap<String,String> nameML
           
protected  Notification notification
           
protected  int order
           
protected  HashSet<Group> parentSet
           
static String REVISION
           
protected  HashMap<String,DataRight> rightFromClassMap
           
protected  String typeReferrer
           
protected  int typeReferrerCount
           
protected  TreeSet<Category> useCategorySet
           
protected  int visibility
           
static int VISIBILITY_ADMINS
           
static int VISIBILITY_DEFAULT
           
static int VISIBILITY_MEMBERS
           
protected  boolean webdavAccess
           
protected  Workspace workspace
           
 
Fields inherited from class com.jalios.jcms.Data
author, authorDBID, channel, DISPLAY_URL_EXTRA_INFO, extension, extraDataMap, extraDBDataMapToSaveOnOp, importMap, opAuthor, opDelegate
 
Fields inherited from class com.jalios.jstore.BasicStorable
cdate, ddate, id, mdate, store
 
Fields inherited from interface com.jalios.jcms.accesscontrol.AccessControlConstants
ADMIN_RESOURCE, CTXT_DATA, CTXT_WORKSPACE, GRP_EDIT_RESOURCE, MBR_EDIT_RESOURCE, WORKSPACE_ADMIN_RESOURCE, WS_EDIT_RESOURCE, WSGRP_EDIT_RESOURCE, WSMBR_EDIT_RESOURCE
 
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, 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, JCMS_MSG_LIST, 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_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_WIDTH, 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
Group()
           
Group(Group other)
           
 
Method Summary
 void addParent(Group group)
          Adds the given group to the parent set of this group.
 WKRole belongsToRole()
          Retrieve the first WKRole instance this groups belongs to.
 boolean belongsToRole(WKRole role)
          Checks if this group is defined in the specified WKRole.
 boolean canBeReadBy(Member mbr)
          Returns true if the given member can view this group.
 boolean canDeleteOther(Class<? extends Publication> clazz)
          Check if this group can delete object of the given class.
 boolean canEditCategories()
           
 boolean canPublish(Class<? extends Publication> clazz)
          Check if this group can publish object of the given class.
 boolean canRead(Category cat)
          This convenient method check if a group can read a category.
 boolean canRead(Publication pub)
          This convenient method check if a group can read a publication.
 boolean canReceiveMail(boolean checkDisable)
          Checks if at least one member of the group can receive a valid email.
 boolean canReceiveMail(boolean checkDisable, boolean notUsed)
          Deprecated. since jcms-6.0.2 see canReceiveMail(boolean), will be removed for jcms-6.1
 boolean canUpdateOther(Class<? extends Publication> clazz)
          Check if this group can update object of the given class.
 boolean canUseCategory(Category cat)
          Check if this group can use the given category.
 ControllerStatus checkDelete(Member mbr, Map context)
          Checks if the deletion can be performed
 ControllerStatus checkIntegrity()
          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 checkWrite(int op, Member mbr, boolean checkIntegrity, Map context)
          Checks if the given write operation can be performed
 void exportXmlField(StringBuffer sb, int indentLevel)
          Fills the given StringBuffer with Xml export of fields of this data.
 void fillExportXmlFieldAttributes(StringBuffer sb)
          Fill the given string buffer with specific attributes of this data.
 AccessControlList getAccessControlList()
          Gets the AccessControlList of this group.
static
<T extends Group>
Comparator<T>
getAclComparator()
          Retrieve a new instance of Group comparator sorting groups according their ACL.
 Set<Group> getAncestorSet(boolean includeMyself)
          Returns the ancestors of this group.
 Set<Group> getChildrenSet()
          Return the set of groups which have this group has parent.
static Comparator<Group> getComparator(String str, boolean reverse)
          Deprecated. use ComparatorManager
 int getCookieMaxAge()
          Return the cookie maximum age value of this group (in seconds).
 int getCookieMaxAgeResolved()
          Returns the cookie max-age value to use for this group.
I.E.
static String getCSVHeader(String lang)
          Returns the CSV header of this object
 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.
 int getDBMemberCount()
           
 Set<Member> getDeclaredMemberSet()
          Retrieves Set of members who belongs to this group ONLY.
 Set<Group> getDescendantSet()
          Returns the descendant groups of this group.
static TreeSet<Group> getGlobalGroupSet()
          Returns a set of all Groups set which are global
 String getIcon()
           
 String getIcon(String userLang, boolean imgTag)
          Return the img tag for the icon
static
<T extends Group>
Comparator<T>
getLastLdapSyncComparator()
           
 Date getLastLdapSynchro()
           
 String getLdapDN()
           
 boolean getLdapSync()
           
static
<T extends Group>
Comparator<T>
getMemberCountComparator()
           
 Set<Member> getMemberSet()
          Retrieves Set of members who belongs to this group (or to any child group of this group).
 String getName()
          Get the value of name.
 String getName(String lang)
          Get the value of name bound to the given language.
 String getName(String lang, boolean useDefault)
          Get the value of name bound to the given language.
static
<T extends Group>
Comparator<T>
getNameComparator()
           
static
<T extends Group>
Comparator<T>
getNameComparator(String lang)
           
 HashMap<String,String> getNameML()
          Get the value of nameML.
 Notification getNotification()
          Retrieves the notifications defined for members of this group.
 int getOrder()
          Get the order value of this group.
The order value may be used to sort severals groups in a set.
static
<T extends Group>
Comparator<T>
getOrderComparator()
           
 HashSet<Group> getParentSet()
          Get the parent groups of this groups in a Set.
 Set<Publication> getPublicationSet()
          Retrieves a new set which contains the publications of all the members of this group.
Performance Warning: this method creates and fill a new Set each time it is invoked.
 DataRight getRight(Class<?> clazz)
          Retrieve the DataRight associated with the specified class for this group.
 HashMap<String,DataRight> getRightFromClassMap()
          Retrieves the map associating DataRight instance to the publication type (class name) on which they must applied.
static Set<Group> getRootGroupSet(Workspace ws)
          Returns the groups without parent in the given workspace.
 int getTypeReferrerCount()
          Returns the number of type referencing this group (through "authgroups" field).
 TreeSet<Category> getUseCategorySet()
          Retrieves the Categories that members of this groups are allowed to use when publishing.
 int getVisibility()
           
 boolean getWebdavAccess()
          Checks if member of this group are allowed to access the site using WebDAV.
 Workspace getWorkspace()
          Retrieves the Workspace defined for this group.
static
<T extends Group>
Comparator<T>
getWorkspaceComparator()
           
 Set<WSTypeEntry> getWSTypeEntryReferrerSet()
          Returns a set of WSTypeEntry referencing this group.
 boolean hasChildren()
          Checks if this group has at least one children.
 boolean hasMultipleParent()
          Returns true if this group is attached to 2 or more parent groups.
protected  boolean internalCanBeReadBy(Member mbr)
           
 boolean isAncestor(Group group)
          Returns true if given group is an ancestor of this group or is the same object as this group.
 boolean isDescendant(Group group)
          Returns true if the given group is a descendant of this group.
 boolean isGlobalGroup()
          Checks if this group is a global group or not.
 boolean isLdapGroup()
           
 boolean isSubGroup()
          Returns true if this group belongs to at least one parent group.
 void performDelete(Member mbr, Map context)
          Performs data deletion
static void printOptionGroup(Group selectedGrp, javax.servlet.jsp.JspWriter out, String userLang, Member mbr)
          Print the <option> tags for a <select> tag.
static void printOptionGroup(Set<Group> selectedSet, javax.servlet.jsp.JspWriter out, String userLang, Member mbr)
          Print the <option> tags for a <select> tag.
static void printOptionGroup(Workspace ws, Group selectedGrp, javax.servlet.jsp.JspWriter out, String userLang, Member mbr)
          Print the <option> tags for a <select> tag.
static void printOptionGroup(Workspace ws, Set<Group> selectedSet, javax.servlet.jsp.JspWriter out, String userLang, Member mbr)
          Print the <option> tags for a <select> tag.
static void printTreeGroup(Workspace ws, String paramName, javax.servlet.jsp.JspWriter out, String userLang, JcmsJspContext context)
          Print a navigation tree for group splitted by workspaces (except if a workspace is provided).
 void refreshTypeReferrerCount()
          Refresh type referrer count.
 void removeParent(Group group)
          Removes the given group form the parent set of this group.
 void setAccessControlList(AccessControlList acl)
          Sets the AccessControlList of this group.
 void setCookieMaxAge(int cookieMaxAge)
          Set the cookie maximum age value to use for member of this group (in seconds).
Default is 0.
 void setLastLdapSynchro(Date date)
          Set last LDAP synchronization Date (thus making it an LDAP group).
 void setLdapDN(String ldapDN)
          Set the distinguish name of this group.
 void setLdapSync(boolean ldapSync)
          Set if this group should be synchronized with ldap or not.
 void setName(String v)
          Set the value of name.
 void setName(String lang, String value)
          Convenient method to set the value of the Name field in any language (default site language or any other).
This method will set the proper field value (setName(String) or setNameML(HashMap)) depending on the specified language.
 void setNameML(HashMap<String,String> v)
          Set the value of nameML.
 void setNotification(Notification notification)
          Set the notifications to use for members of this group.
 void setOrder(int order)
          Set the order of this group.
The order value may be used to sort severals groups in a set.
 void setParentSet(HashSet<Group> parentSet)
          Set the parent groups of this group.
This method will removes any cycle dependencies or null reference the specified Set may contains.
 void setRightFromClassMap(HashMap<String,DataRight> rightFromClassMap)
          Set the map associating DataRight instance to the publication type (class name) on which they must be applied.
For example, here is a map giving full access to WebPages an none to Articles :
 void setUseCategorySet(TreeSet<Category> useCategorySet)
          Set the Categories that members of this groups are allowed to use when publishing.
 void setVisibility(int v)
          Sets the visibility
 void setWebdavAccess(boolean webdavAccess)
          Set the authorization for member of this group to access the site using WebDAV.
 void setWorkspace(Workspace workspace)
          Sets the Workspace of this group.
 String toCSV(String lang)
          Returns a CSV view of this object
 String toString()
           
 void updateMemberSet(Member mbr, boolean add)
          Update the memberSet index.
You do NOT need to call this method which is used internally to update the memberSet.
 
Methods inherited from class com.jalios.jcms.Data
canRequestLock, checkCreate, checkCreate, checkDelete, checkIntegrity, checkLockMember, checkStrongLockMember, checkUpdate, checkUpdate, clone, computeDBIDArray, exportXml, exportXml, exportXml, exportXml, exportXmlRelated, exportXmlRelated, getAllReferrerSet, getAllReferrerSet, getAllTypeFieldEntry, getAuthor, getAuthor, getAuthorComparator, getAuthorDBID, getAuthorId, getAuthorSelector, getBooleanFieldValue, getBooleanFieldValue, getCaddyComparator, getCategoryFieldValue, getCategoryFieldValue, getCdateSelector, getDataImage, getDataImage, getDataImage, getDataNameComparator, getDate, getDate, getDateSelector, getDeletableSelector, getDisplayLink, getDisplayLink, 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, getLangPropertyValue, getLinkCount, getLinkIndexedDataSet, getLinkIndexedDataSet, getLockDate, getLockInfo, getLockMember, getLongFieldValue, getLongFieldValue, getMdateSelector, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getOpAuthor, getOpAuthorComparator, getOpDelegate, getRowId, getRowIdComparator, getStrongLock, getStrongLockDate, getStrongLockInfo, getStrongLockMember, getStrongLockSelector, getTypeEntry, getTypeFieldsEntries, getUpdateInstance, hashCode, importXml, importXmlFieldsWithReferences, importXmlFiles, importXmlReferences, initializeDBDataCollections, isDBData, isImported, isImportUpdated, isInDatabase, isLocked, isPersisted, isStrongLocked, lock, markNewImport, mergeHybridLink, performAfterWrite, performBeforeWrite, performCreate, performCreate, performDelete, performUpdate, performUpdate, prepareUpdateContext, printDataName, printDisplayLinkEnd, printDisplayLinkStart, printDisplayUrl, printDisplayUrl, putStrongLock, releaseStrongLock, releaseStrongLock, removeExtraData, removeExtraDBData, removeExtraInfo, setAuthor, setAuthorDBID, setAuthorId, setBooleanFieldValue, setCategoryFieldValue, setDoubleFieldValue, setExtension, setExtraData, setExtraDataMap, setExtraDBData, setExtraDBDataMap, setExtraDBDataMap, setExtraInfo, setFieldValue, setFieldValue, setImportAuthor, setImportBatch, setImportDate, setImportDisplayUrl, setImportId, setImportMap, setImportMdate, setImportSignature, setImportSource, setImportSourceUrl, setImportUpdated, setIntFieldValue, setLongFieldValue, setMdate, setOpAuthor, setOpDelegate, setRowId, toFullString, 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

VISIBILITY_DEFAULT

public static final int VISIBILITY_DEFAULT
See Also:
Constant Field Values

VISIBILITY_MEMBERS

public static final int VISIBILITY_MEMBERS
See Also:
Constant Field Values

VISIBILITY_ADMINS

public static final int VISIBILITY_ADMINS
See Also:
Constant Field Values

name

protected String name

nameML

protected HashMap<String,String> nameML

order

protected int order

rightFromClassMap

protected HashMap<String,DataRight> rightFromClassMap

cookieMaxAge

protected int cookieMaxAge

useCategorySet

protected TreeSet<Category> useCategorySet

workspace

protected Workspace workspace

notification

protected Notification notification

webdavAccess

protected boolean webdavAccess

parentSet

protected HashSet<Group> parentSet

accessControlList

protected AccessControlList accessControlList

visibility

protected int visibility

ldapDN

protected String ldapDN

ldapSync

protected boolean ldapSync

lastLdapSynchro

protected Date lastLdapSynchro

cookieMaxAgeResolved

protected transient int cookieMaxAgeResolved

typeReferrerCount

protected transient int typeReferrerCount

typeReferrer

protected transient String typeReferrer
Constructor Detail

Group

public Group()

Group

public Group(Group other)
Method Detail

canRead

public boolean canRead(Category cat)
This convenient method check if a group can read a category.

Parameters:
cat - the category
Returns:
true if this group can read the category
Since:
jcms-4.1
See Also:
Publication.canBeReadBy(com.jalios.jcms.Group)

canRead

public boolean canRead(Publication pub)
This convenient method check if a group can read a publication.

Parameters:
pub - the publication
Returns:
true if this group can read the publication
Since:
jcms-2.1
See Also:
Publication.canBeReadBy(com.jalios.jcms.Group)

canEditCategories

public boolean canEditCategories()

getRight

public DataRight getRight(Class<?> clazz)
Retrieve the DataRight associated with the specified class for this group.

Parameters:
clazz - the publication type of which to find the DataRight
Returns:
the DataRight associated with the given class or null if no right has been specified.

toString

public String toString()
Overrides:
toString in class Data

canBeReadBy

public boolean canBeReadBy(Member mbr)
Returns true if the given member can view this group.

Parameters:
mbr - the member
Returns:
true if the given member can view this group.
Since:
jcms-7.1.0

internalCanBeReadBy

protected boolean internalCanBeReadBy(Member mbr)

getCookieMaxAgeResolved

public int getCookieMaxAgeResolved()
Returns the cookie max-age value to use for this group.
I.E. if cookieMaxAge value of this group has not been defined (== 0) then the value of the "cookie.max-age" property is returned, otherwise the cookieMaxAge value of this group is returned.

Returns:
the cookie max-age value to use for this group in seconds.
Since:
jcms-5.0.0

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

canPublish

public boolean canPublish(Class<? extends Publication> clazz)
Check if this group can publish object of the given class.

Parameters:
clazz - the class
Returns:
true if this group can publish object of the given class.
Since:
jcms-3.0

canUpdateOther

public boolean canUpdateOther(Class<? extends Publication> clazz)
Check if this group can update object of the given class.

Parameters:
clazz - the class
Returns:
true if this group can update object of the given class.
Since:
jcms-3.0

canDeleteOther

public boolean canDeleteOther(Class<? extends Publication> clazz)
Check if this group can delete object of the given class.

Parameters:
clazz - the class
Returns:
true if this group can delete object of the given class.
Since:
jcms-3.0

canUseCategory

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

Parameters:
cat - the category to check
Returns:
true if this group can use the given category.
Since:
jcms-4.0

checkWrite

public ControllerStatus checkWrite(int op,
                                   Member mbr,
                                   boolean checkIntegrity,
                                   Map context)
Checks if the given write operation can be performed

Overrides:
checkWrite in class Data
Parameters:
op - the operation (OP_CREATE, OP_UPDATE, ...)
mbr - the member which requests the write operation
checkIntegrity - if true, requires the constraints integrity to be checked
context - a map which contains context parameters (may be null)
Returns:
a ControllerStatus
Since:
jcms-5.7.3

belongsToRole

public WKRole belongsToRole()
Retrieve the first WKRole instance this groups belongs to.

Returns:
the first WKRole the member belongs to, or null if no WKRole is associated with this group.
Since:
jcms-4.1

belongsToRole

public boolean belongsToRole(WKRole role)
Checks if this group is defined in the specified WKRole.

Parameters:
role - a WKRole (can be null)
Returns:
true if member belongs to the WKRole, false otherwise and when specified role is null
Since:
jcms-4.1

canReceiveMail

@Deprecated
public boolean canReceiveMail(boolean checkDisable,
                                         boolean notUsed)
Deprecated. since jcms-6.0.2 see canReceiveMail(boolean), will be removed for jcms-6.1

Checks if at least one member of the group can receive a valid email.

Parameters:
checkDisable - check the disable account property
notUsed - NOT USED ANYMORE
Returns:
true if one member's email is valid
Since:
jcms-5.0.0

canReceiveMail

public boolean canReceiveMail(boolean checkDisable)
Checks if at least one member of the group can receive a valid email.

Parameters:
checkDisable - check the disable account property
Returns:
true if one member's email is valid
Since:
jcms-6.0.2

isGlobalGroup

public boolean isGlobalGroup()
Checks if this group is a global group or not.

Returns:
true if this is global group (workspace == null), false otherwise
Since:
jcms-5.5.0

getChildrenSet

public Set<Group> getChildrenSet()
Return the set of groups which have this group has parent.

Returns:
a set of Group, never return null.
Since:
jcms-5.6.0

hasChildren

public boolean hasChildren()
Checks if this group has at least one children.

Returns:
true if this group has at least one children.
Since:
jcms-5.6.0

isSubGroup

public boolean isSubGroup()
Returns true if this group belongs to at least one parent group.

Returns:
true if this group belongs to at least one parent group.
Since:
jcms-5.6.0

hasMultipleParent

public boolean hasMultipleParent()
Returns true if this group is attached to 2 or more parent groups.

Returns:
true if this group is attached to 2 or more parent groups.
Since:
jcms-5.6.0

addParent

public void addParent(Group group)
Adds the given group to the parent set of this group.

Parameters:
group - to be added.
Since:
jcms-5.6.0

removeParent

public void removeParent(Group group)
Removes the given group form the parent set of this group.

Parameters:
group - to be removed.
Since:
jcms-5.6.0

isDescendant

public boolean isDescendant(Group group)
Returns true if the given group is a descendant of this group.

Parameters:
group -
Returns:
true if the given group is a descendant of this group.
Since:
jcms-5.6.0

getDescendantSet

public Set<Group> getDescendantSet()
Returns the descendant groups of this group.

Returns:
the descendant groups of this group.
Since:
jcms-5.6.0

isAncestor

public boolean isAncestor(Group group)
Returns true if given group is an ancestor of this group or is the same object as this group.

Parameters:
group - the group to be checked.
Returns:
true if given group is an ancestor of this group or is the same object as this group.
Since:
jcms-5.6.0
See Also:
getAncestorSet(boolean)

getAncestorSet

public Set<Group> getAncestorSet(boolean includeMyself)
Returns the ancestors of this group.

Parameters:
includeMyself - if true, the ancestor set contains this group.
Returns:
the ancestors of this group.
Since:
jcms-5.6.0

getIcon

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

getIcon

public String getIcon(String userLang,
                      boolean imgTag)
Return the img tag for the icon

Parameters:
userLang - the icon language
imgTag - boolean indicate to return an <img> tag
Returns:
the img tag for the icon
Since:
jcms-5.0.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 Group or empty String if not specified.
Since:
jcms-5.1
See Also:
getName(), Data.getDataName(String)

getName

public String getName(String lang)
Get the value of name bound to the given language.

Parameters:
lang - the language to get the name
Returns:
name in the given language.
Since:
jcms-7.0.0

getName

public String getName(String lang,
                      boolean useDefault)
Get the value of name bound to the given language.

Parameters:
lang - the language to get the name
useDefault - should main language used as default language if name does not exist in the given language
Returns:
name in the given language.
Since:
jcms-7.0.0

getName

public String getName()
Get the value of name.

Returns:
Value of name.

setName

public void setName(String v)
Set the value of name.

Parameters:
v - Value to assign to v.

getNameML

public HashMap<String,String> getNameML()
Get the value of nameML.

Returns:
Value of nameML.
Since:
jcms-7.0.0

setNameML

public void setNameML(HashMap<String,String> v)
Set the value of nameML.

Parameters:
v - Value to assign to nameML.
Since:
jcms-7.0.0

setName

public void setName(String lang,
                    String value)
Convenient method to set the value of the Name field in any language (default site language or any other).
This method will set the proper field value (setName(String) or setNameML(HashMap)) depending on the specified language.

Parameters:
lang - the language (ISO 639 code) in which to set the value
value - the value to set.
Since:
jcms-7.0.0
See Also:
setName(String), setNameML(HashMap)

getOrder

public int getOrder()
Get the order value of this group.
The order value may be used to sort severals groups in a set.

Returns:
the order defined for this group.

setOrder

public void setOrder(int order)
Set the order of this group.
The order value may be used to sort severals groups in a set.

Parameters:
order - an integer.

getWebdavAccess

public boolean getWebdavAccess()
Checks if member of this group are allowed to access the site using WebDAV.

Returns:
true if WebDAV access is allowed, false otherwise.
Since:
jcms-5.5.0

setWebdavAccess

public void setWebdavAccess(boolean webdavAccess)
Set the authorization for member of this group to access the site using WebDAV.

Parameters:
webdavAccess - true to authorize WebDAV access, false otherwise.
Since:
jcms-5.5.0

getWorkspace

public Workspace getWorkspace()
Retrieves the Workspace defined for this group.

Returns:
the workspace of this group, may be null for global groups.

setWorkspace

public void setWorkspace(Workspace workspace)
Sets the Workspace of this group.

Parameters:
workspace - the Workspace to define for this group. If null, this group will be a global group.

getCookieMaxAge

public int getCookieMaxAge()
Return the cookie maximum age value of this group (in seconds).

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

setCookieMaxAge

public void setCookieMaxAge(int cookieMaxAge)
Set the cookie maximum age value to use for member of this group (in seconds).
Default is 0. When set to 0, the default value specified by the property "cookie.max-age" will be used by getCookieMaxAgeResolved().

Parameters:
cookieMaxAge - a duration in seconds indicating the time of validity of the cookie
Since:
jcms-2.1

getVisibility

public int getVisibility()
Returns:
the visibility
Since:
jcms-7.1.0

setVisibility

public void setVisibility(int v)
Sets the visibility

Parameters:
v - the visibility
Since:
jcms-7.1.0

getRightFromClassMap

public HashMap<String,DataRight> getRightFromClassMap()
Retrieves the map associating DataRight instance to the publication type (class name) on which they must applied.

Returns:
a HashMap with class names for keys (String) and DataRight instances for values, can return null if rights have not been defined for this group.

setRightFromClassMap

public void setRightFromClassMap(HashMap<String,DataRight> rightFromClassMap)
Set the map associating DataRight instance to the publication type (class name) on which they must be applied.
For example, here is a map giving full access to WebPages an none to Articles :
   HashMap rightMap = new HashMap();
   DataRight fullRight = channel.getDataRight(true, true, true, true);
   DataRight noRight = channel.getDataRight(false, false, false, true);
   rightMap.put(WebPage.class.getName(), fullRight);
   rightMap.put(Article.class.getName(), noRight);
   group.setRightFromClassMap(rightMap);
 

Parameters:
rightFromClassMap - a HashMap with class names for keys (String) and DataRight instances for values.

getParentSet

public HashSet<Group> getParentSet()
Get the parent groups of this groups in a Set.

Returns:
a HashSet of Group (maybe null or empty).
Since:
jcms-5.6.0

setParentSet

public void setParentSet(HashSet<Group> parentSet)
Set the parent groups of this group.
This method will removes any cycle dependencies or null reference the specified Set may contains.

Parameters:
parentSet - HashSet of Group, can be null or empty.
Since:
jcms-5.6.0

getMemberSet

public Set<Member> getMemberSet()
Retrieves Set of members who belongs to this group (or to any child group of this group).

Returns:
a internal (transient index) Set of Member, do not modify the content of the returned value.

getDBMemberCount

public int getDBMemberCount()
Returns:
the count of DBMember in current Group and its children
Since:
jcms-7.1.2

getDeclaredMemberSet

public Set<Member> getDeclaredMemberSet()
Retrieves Set of members who belongs to this group ONLY.

Returns:
a internal (transient index) Set of Member, do not modify the content of the returned value.

updateMemberSet

public void updateMemberSet(Member mbr,
                            boolean add)
Update the memberSet index.
You do NOT need to call this method which is used internally to update the memberSet.

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

getUseCategorySet

public TreeSet<Category> getUseCategorySet()
Retrieves the Categories that members of this groups are allowed to use when publishing.

Returns:
a TreeSet of Category, never return null.
Since:
jcms-4.0

setUseCategorySet

public void setUseCategorySet(TreeSet<Category> useCategorySet)
Set the Categories that members of this groups are allowed to use when publishing.

Parameters:
useCategorySet - a TreeSet of Category, if null, an empty TreeSet will be defined.
Since:
jcms-4.0

getPublicationSet

public Set<Publication> getPublicationSet()
Retrieves a new set which contains the publications of all the members of this group.
Performance Warning: this method creates and fill a new Set each time it is invoked.

Returns:
a new Set of Publications
Since:
jcms-3.0

getNotification

public Notification getNotification()
Retrieves the notifications defined for members of this group.

Returns:
the Notification object of this Group which defines the notifications to apply for its members.

setNotification

public void setNotification(Notification notification)
Set the notifications to use for members of this group.

Parameters:
notification - Notification object defining the notifications queries and criteria.

getOrderComparator

public static <T extends Group> Comparator<T> getOrderComparator()

getNameComparator

public static <T extends Group> Comparator<T> getNameComparator()

getNameComparator

public static <T extends Group> Comparator<T> getNameComparator(String lang)

getMemberCountComparator

public static <T extends Group> Comparator<T> getMemberCountComparator()

getWorkspaceComparator

public static <T extends Group> Comparator<T> getWorkspaceComparator()

getLastLdapSyncComparator

public static <T extends Group> Comparator<T> getLastLdapSyncComparator()

getAclComparator

public static <T extends Group> Comparator<T> getAclComparator()
Retrieve a new instance of Group comparator sorting groups according their ACL.

Returns:
a new instance of Comparator
Since:
jcms-7.0.0

getComparator

public static Comparator<Group> getComparator(String str,
                                              boolean reverse)
Deprecated. use ComparatorManager

Retrieves a new Comparator given a name representing it. The returned comparator can be used to sort any Collection containing Groups.

You can specify any of the following value:
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)

getGlobalGroupSet

public static TreeSet<Group> getGlobalGroupSet()
Returns a set of all Groups set which are global

Returns:
the global group set
Since:
jcms-5.5.0
See Also:
isGlobalGroup()

checkIntegrity

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

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

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

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

getTypeReferrerCount

public int getTypeReferrerCount()
Returns the number of type referencing this group (through "authgroups" field).

Returns:
the number of type referencing this group.
Since:
jcms-5.5.0

refreshTypeReferrerCount

public void refreshTypeReferrerCount()
Refresh type referrer count.

Since:
jcms-5.5.0

getWSTypeEntryReferrerSet

public Set<WSTypeEntry> getWSTypeEntryReferrerSet()
Returns a set of WSTypeEntry referencing this group.

Returns:
a set of WSTypeEntry referencing this group.
Since:
jcms-5.5.0

performDelete

public void performDelete(Member mbr,
                          Map context)
Performs data 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

getRootGroupSet

public static Set<Group> getRootGroupSet(Workspace ws)
Returns the groups without parent in the given workspace. If the workspace is null, return the global groups without parent.

Parameters:
ws - the workspace.
Returns:
the groups without parent.
Since:
jcms-5.6.0

printTreeGroup

public static void printTreeGroup(Workspace ws,
                                  String paramName,
                                  javax.servlet.jsp.JspWriter out,
                                  String userLang,
                                  JcmsJspContext context)
                           throws IOException
Print a navigation tree for group splitted by workspaces (except if a workspace is provided).

Parameters:
ws - the workspace.
paramName - the HTTP parameter used to filter on a given parent group.
out - the JSP output stream.
userLang - the user language.
context - the context.
Throws:
IOException
Since:
jcms-5.6.0

printOptionGroup

public static void printOptionGroup(Group selectedGrp,
                                    javax.servlet.jsp.JspWriter out,
                                    String userLang,
                                    Member mbr)
                             throws IOException
Print the <option> tags for a <select> tag. Items are indented according the parent level and they are splitted by workspaces.

Parameters:
selectedGrp - the selected group.
out - the JSP output stream.
userLang - the user language.
mbr - the logged member
Throws:
IOException
Since:
jcms-5.6.0

printOptionGroup

public static void printOptionGroup(Set<Group> selectedSet,
                                    javax.servlet.jsp.JspWriter out,
                                    String userLang,
                                    Member mbr)
                             throws IOException
Print the <option> tags for a <select> tag. Items are indented according the parent level and they are splitted by workspaces.

Parameters:
selectedSet - the set of selected groups
out - the JSP output stream.
userLang - the user language.
mbr - the logged member
Throws:
IOException
Since:
jcms-5.6.0

printOptionGroup

public static void printOptionGroup(Workspace ws,
                                    Group selectedGrp,
                                    javax.servlet.jsp.JspWriter out,
                                    String userLang,
                                    Member mbr)
                             throws IOException
Print the <option> tags for a <select> tag. Items are indented according the parent level and they are splitted by workspaces (except if a workspace is provided).

Parameters:
ws - the workspace.
selectedGrp - the selected group.
out - the JSP output stream.
userLang - the user language.
mbr - the logged member
Throws:
IOException
Since:
jcms-5.6.0

printOptionGroup

public static void printOptionGroup(Workspace ws,
                                    Set<Group> selectedSet,
                                    javax.servlet.jsp.JspWriter out,
                                    String userLang,
                                    Member mbr)
                             throws IOException
Print the <option> tags for a <select> tag. Items are indented according the parent level and they are splitted by workspaces (except if a workspace is provided).

Parameters:
ws - the workspace.
selectedSet - the set of selected groups
out - the JSP output stream.
userLang - the user language.
mbr - the logged member
Throws:
IOException
Since:
jcms-5.6.0

isLdapGroup

public boolean isLdapGroup()
Returns:
true if this group is an LDAP group (if it has been synchronized with the LDAP, i.e., if getLastLdapSynchro() is not null AND getLdapDN() is not empty). Warning: this method won't return true if the LdapDN has been set but not the last ldap synchro date.
Since:
jcms-5.7.0

getLastLdapSynchro

public Date getLastLdapSynchro()
Returns:
the Date when the last LDAP synchronization occured, or null if this group is not an LDAP group.
Since:
jcms-5.7.0

setLastLdapSynchro

public void setLastLdapSynchro(Date date)
Set last LDAP synchronization Date (thus making it an LDAP group).

Parameters:
date - the last LDAP synchronization Date (may be null)
Since:
jcms-5.7.0

getLdapDN

public String getLdapDN()
Returns:
the distinguish name of this group.
Since:
jcms-5.7.0

setLdapDN

public void setLdapDN(String ldapDN)
Set the distinguish name of this group.

Parameters:
ldapDN - the distinguish name to set, e.g. "cn=Marketing,ou=Groups,dc=company,dc=com", (may be null).
Since:
jcms-5.7.0

getLdapSync

public boolean getLdapSync()
Returns:
true if this group is allowed to be synchronized with ldap.
Since:
jcms-5.7.0

setLdapSync

public void setLdapSync(boolean ldapSync)
Set if this group should be synchronized with ldap or not.

Parameters:
ldapSync - true if LDAP synchronization of this group should be performed if needed, false otherwise.
Since:
jcms-5.7.0

getAccessControlList

public AccessControlList getAccessControlList()
Gets the AccessControlList of this group.

Returns:
the AccessControlList of this Group or null if none was defined
Since:
jcms-7.0

setAccessControlList

public void setAccessControlList(AccessControlList acl)
Sets the AccessControlList of this group.

Parameters:
acl - the AccessControlList to use for this Group, can be null
Since:
jcms-7.0


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