You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2014/11/05 18:33:24 UTC

[17/20] git commit: Formlatting the code

Formlatting the code

Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/123e9187
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/123e9187
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/123e9187

Branch: refs/heads/master
Commit: 123e9187ba9df4ed495a30ae7fcb0909ed7a22ef
Parents: 7e417f4
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Nov 5 18:24:13 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Nov 5 18:24:13 2014 +0100

----------------------------------------------------------------------
 .../directory/fortress/core/rbac/Role.java      | 1151 +++++++++---------
 1 file changed, 580 insertions(+), 571 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/123e9187/src/main/java/org/apache/directory/fortress/core/rbac/Role.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/rbac/Role.java b/src/main/java/org/apache/directory/fortress/core/rbac/Role.java
index 8651808..f974266 100755
--- a/src/main/java/org/apache/directory/fortress/core/rbac/Role.java
+++ b/src/main/java/org/apache/directory/fortress/core/rbac/Role.java
@@ -189,608 +189,617 @@ import org.apache.directory.fortress.core.util.time.Constraint;
     {
         AdminRole.class
 })
-public class Role extends FortEntity
-implements Constraint, Graphable, java.io.Serializable
-{
-private String id; // this maps to ftId
-private String name; // this is ftRoleName
-private String description; // this is description
-@XmlTransient
-private String dn; // this attribute is automatically saved to each ldap record.
-@XmlTransient
-private List<String> occupants;
-private Set<String> parents;
-private Set<String> children;
-private String beginTime; // this attribute is ftCstr
-private String endTime; // this attribute is ftCstr
-private String beginDate; // this attribute is ftCstr
-private String endDate; // this attribute is ftCstr
-private String beginLockDate;// this attribute is ftCstr
-private String endLockDate; // this attribute is ftCstr
-private String dayMask; // this attribute is ftCstr
-private int timeout; // this attribute is ftCstr
-
-
-/**
- * Default constructor is used by internal Fortress classes.
- */
-public Role()
-{
-}
-
-
-/**
- * Construct a Role entity with a given name.
- *
- * @param name maps to 'cn' attribute on 'organizationalrole' object class.
- */
-public Role( String name )
-{
-    this.name = name;
-}
-
-
-/**
- * Construct an RBAC Role with a given temporal constraint.
- *
- * @param con maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-public Role( Constraint con )
-{
-    CUtil.copy( con, this );
-}
-
-
-/**
- * Required on DAO classes convert Temporal attributes stored on entity to raw data object format needed for ldap.  For internal use only.
- *
- * @return String that maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-public String getRawData()
-{
-    return rawData;
-}
-
-
-/**
- * Required on DAO classes convert Temporal from raw ldap data to entity attributes.  For internal use only.
- *
- * @param rawData maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-public void setRawData( String rawData )
-{
-    this.rawData = rawData;
-}
-
-private String rawData;
-
-
-/**
- * Gets the name required attribute of the Role object
- *
- * @return attribute maps to 'cn' attribute on 'organizationalrole' object class.
- */
-public String getName()
-{
-    return name;
-}
-
-
-/**
- * Sets the required name attribute on the Role object
- *
- */
-public void setName( String name )
-{
-    this.name = name;
-}
-
-
-/**
- * Set the occupant attribute with the contents of the User dn.
- * @param occupant maps to 'roleOccupant' attribute on 'organizationalrole' object class.
- */
-public void setOccupant( String occupant )
-{
-    if ( this.occupants == null )
+public class Role extends FortEntity implements Constraint, Graphable, java.io.Serializable
+{
+    private static final long serialVersionUID = 1L;
+    private String id; // this maps to ftId
+    private String name; // this is ftRoleName
+    private String description; // this is description
+    @XmlTransient
+    private String dn; // this attribute is automatically saved to each ldap record.
+    @XmlTransient
+    private List<String> occupants;
+    private Set<String> parents;
+    private Set<String> children;
+    private String beginTime; // this attribute is ftCstr
+    private String endTime; // this attribute is ftCstr
+    private String beginDate; // this attribute is ftCstr
+    private String endDate; // this attribute is ftCstr
+    private String beginLockDate;// this attribute is ftCstr
+    private String endLockDate; // this attribute is ftCstr
+    private String dayMask; // this attribute is ftCstr
+    private int timeout; // this attribute is ftCstr
+    
+    
+    /**
+     * Default constructor is used by internal Fortress classes.
+     */
+    public Role()
     {
-        this.occupants = new ArrayList<>();
     }
-    this.occupants.add( occupant );
-}
-
-
-/**
- * Return list of occupants for a particular Role entity.
- * @return List of type String containing User dn that maps to 'roleOccupant' attribute on 'organizationalrole' object class.
- */
-public List<String> getOccupants()
-{
-    return occupants;
-}
-
-
-/**
- * Set a list of occupants for a particular Role entity.
- * @param occupants contains a List of type String which maps to 'roleOccupant' attribute on 'organizationalrole' object class.
- */
-public void setOccupants( List<String> occupants )
-{
-    this.occupants = occupants;
-}
-
-
-/**
- * Returns optional description that is associated with Role.  This attribute is validated but not constrained by Fortress.
- *
- * @return value that is mapped to 'description' in 'organizationalrole' object class.
- */
-public String getDescription()
-{
-    return this.description;
-}
-
-
-/**
- * Sets the optional description that is associated with Role.  This attribute is validated but not constrained by Fortress.
- *
- * @param description that is mapped to same name in 'organizationalrole' object class.
- */
-public void setDescription( String description )
-{
-    this.description = description;
-}
-
-
-/**
- * Return the internal id that is associated with Role.  This attribute is generated automatically
- * by Fortress when new Role is added to directory and is not known or changeable by external client.
- *
- * @return attribute maps to 'ftId' in 'ftRls' object class.
- */
-public String getId()
-{
-    return id;
-}
-
-
-/**
- * Generate an internal Id that is associated with Role.  This method is used by DAO class and
- * is not available to outside classes.   The generated attribute maps to 'ftId' in 'ftRls' object class.
- */
-public void setId()
-{
-    // generate a unique id that will be used as the rDn for this entry:
-    UUID uuid = UUID.randomUUID();
-    this.id = uuid.toString();
-}
-
-
-/**
- * Set the internal Id that is associated with Role.  This method is used by DAO class and
- * is generated automatically by Fortress.  Attribute stored in LDAP cannot be changed by external caller.
- * This method can be used by client for search purposes only.
- *
- * @param id maps to 'ftId' in 'ftRls' object class.
- */
-public void setId( String id )
-{
-    this.id = id;
-}
-
-
-/**
- * temporal boolean flag is used by internal Fortress components.
- *
- * @return boolean indicating if temporal constraints are placed on Role.
- */
-@Override
-public boolean isTemporalSet()
-{
-    return ( beginTime != null || endTime != null || beginDate != null || endDate != null || beginLockDate != null
-        || endLockDate != null || dayMask != null );
-}
-
-
-/**
- * Contains the begin time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0800 (8:00 am) or 1700 (5:00 p.m.).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getBeginTime()
-{
-    return this.beginTime;
-}
-
-
-/**
- * Set the begin time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0800 (8:00 am) or 1700 (5:00 p.m.).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param beginTime maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setBeginTime( String beginTime )
-{
-    this.beginTime = beginTime;
-}
-
-
-/**
- * Contains the end time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0000 (12:00 am) or 2359 (11:59 p.m.).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getEndTime()
-{
-    return this.endTime;
-}
-
-
-/**
- * Set the end time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0000 (12:00 am) or 2359 (11:59 p.m.).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param endTime maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setEndTime( String endTime )
-{
-    this.endTime = endTime;
-}
-
-
-/**
- * Contains the begin date when Role is allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getBeginDate()
-{
-    return this.beginDate;
-}
-
-
-/**
- * Set the beginDate when Role is allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param beginDate maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setBeginDate( String beginDate )
-{
-    this.beginDate = beginDate;
-}
-
-
-/**
- * Contains the end date when Role is allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20101231 (December 31, 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getEndDate()
-{
-    return this.endDate;
-}
-
-
-/**
- * Set the end date when Role is not allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param endDate maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setEndDate( String endDate )
-{
-    this.endDate = endDate;
-}
-
-
-/**
- * Contains the begin lock date when Role is temporarily not allowed to be activated in session.  The format is - YYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getBeginLockDate()
-{
-    return this.beginLockDate;
-}
-
-
-/**
- * Set the begin lock date when Role is temporarily not allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param beginLockDate maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setBeginLockDate( String beginLockDate )
-{
-    this.beginLockDate = beginLockDate;
-}
-
-
-/**
- * Contains the end lock date when Role is allowed to be activated in session once again.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getEndLockDate()
-{
-    return this.endLockDate;
-}
-
-
-/**
- * Set the end lock date when Role is allowed to be activated in session once again.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param endLockDate maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setEndLockDate( String endLockDate )
-{
-    this.endLockDate = endLockDate;
-}
-
-
-/**
- * Get the daymask that indicates what days of week Role is allowed to be activated in session.  The format is 1234567, i.e. 23456 (Monday, Tuesday, Wednesday, Thursday, Friday).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public String getDayMask()
-{
-    return this.dayMask;
-}
-
-
-/**
- * Set the daymask that specifies what days of week Role is allowed to be activated in session.  The format is 1234567, i.e. 23456 (Monday, Tuesday, Wednesday, Thursday, Friday).
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param dayMask maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setDayMask( String dayMask )
-{
-    this.dayMask = dayMask;
-}
-
-
-/**
- * Return the integer timeout that contains total time (in seconds) that Role may remain inactive in User's session before it is deactivated.
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @return int maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public Integer getTimeout()
-{
-    return this.timeout;
-}
-
-
-/**
- * Set the integer timeout that contains max time (in seconds) that Role may remain inactive in User's session before it is deactivated.
- * This attribute is optional but if set will be validated for reasonableness.
- *
- * @param timeout maps to 'ftCstr' attribute in 'ftRls' object class.
- */
-@Override
-public void setTimeout( Integer timeout )
-{
-    this.timeout = timeout;
-}
-
-
-/**
- * Get the names of roles that are parents (direct ascendants) of this role.
- * @return Set of parent role names assigned to this role.
- */
-@Override
-public Set<String> getParents()
-{
-    if ( this.parents == null )
+    
+    
+    /**
+     * Construct a Role entity with a given name.
+     *
+     * @param name maps to 'cn' attribute on 'organizationalrole' object class.
+     */
+    public Role( String name )
     {
-        this.parents = new HashSet<>();
+        this.name = name;
     }
-    return parents;
-}
-
-
-/**
- * Set the names of roles names that are parents (direct ascendants) of this role.
- * @param parents contains the Set of parent role names assigned to this role.
- */
-@Override
-public void setParents( Set<String> parents )
-{
-    this.parents = parents;
-}
-
-
-/**
- * Set the occupant attribute with the contents of the User dn.
- * @param parent maps to 'ftParents' attribute on 'ftRls' object class.
- */
-@Override
-public void setParent( String parent )
-{
-    if ( this.parents == null )
+    
+    
+    /**
+     * Construct an RBAC Role with a given temporal constraint.
+     *
+     * @param con maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    public Role( Constraint con )
     {
-        this.parents = new HashSet<>();
+        CUtil.copy( con, this );
     }
-    this.parents.add( parent );
-}
-
-
-/**
- * Set the occupant attribute with the contents of the User dn.
- * @param parent maps to 'ftParents' attribute on 'ftRls' object class.
- */
-@Override
-public void delParent( String parent )
-{
-    if ( this.parents != null )
+    
+    
+    /**
+     * Required on DAO classes convert Temporal attributes stored on entity to raw data object format needed for ldap.  For internal use only.
+     *
+     * @return String that maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    public String getRawData()
     {
-        this.parents.remove( parent );
+        return rawData;
     }
-}
-
-
-/**
- * Return the Set of child role names (direct descendants) of this role.
- * @return Set of child role names assigned to this role.
- */
-public Set<String> getChildren()
-{
-    return children;
-}
-
-
-/**
- * Set the Set of child role names (direct descendants) of this role
- * @param children contains the Set of child role names assigned to this role.
- */
-public void setChildren( Set<String> children )
-{
-    this.children = children;
-}
-
-
-/**
- * Matches the name from two Role entities.
- *
- * @param thatObj contains a Role entity.
- * @return boolean indicating both objects contain matching Role names.
- */
-public boolean equals( Object thatObj )
-{
-    if ( this == thatObj )
+    
+    
+    /**
+     * Required on DAO classes convert Temporal from raw ldap data to entity attributes.  For internal use only.
+     *
+     * @param rawData maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    public void setRawData( String rawData )
     {
-        return true;
+        this.rawData = rawData;
     }
-
-    if ( name == null )
+    
+    private String rawData;
+    
+    
+    /**
+     * Gets the name required attribute of the Role object
+     *
+     * @return attribute maps to 'cn' attribute on 'organizationalrole' object class.
+     */
+    public String getName()
     {
-        return false;
+        return name;
     }
-
-    if ( !( thatObj instanceof Role ) )
+    
+    
+    /**
+     * Sets the required name attribute on the Role object
+     *
+     */
+    public void setName( String name )
     {
-        return false;
+        this.name = name;
     }
-
-    Role thatRole = ( Role ) thatObj;
-
-    if ( thatRole.getName() == null )
+    
+    
+    /**
+     * Set the occupant attribute with the contents of the User dn.
+     * @param occupant maps to 'roleOccupant' attribute on 'organizationalrole' object class.
+     */
+    public void setOccupant( String occupant )
     {
-        return false;
+        if ( this.occupants == null )
+        {
+            this.occupants = new ArrayList<>();
+        }
+        this.occupants.add( occupant );
     }
-
-    return thatRole.getName().equalsIgnoreCase( name );
-}
-
-
-/**
- * @see Object#toString()
- */
-public String toString()
-{
-    StringBuilder sb = new StringBuilder();
-
-    sb.append( "Role[" );
-
-    // The name
-    sb.append( name ).append( ", " );
-
-    if ( ( description != null ) && ( description.length() > 0 ) )
+    
+    
+    /**
+     * Return list of occupants for a particular Role entity.
+     * @return List of type String containing User dn that maps to 'roleOccupant' attribute on 'organizationalrole' object class.
+     */
+    public List<String> getOccupants()
     {
-        sb.append( description ).append( ", " );
+        return occupants;
     }
-
-    // the date
-    sb.append( "date : <" ).append( beginDate ).append( ", " ).append( endDate ).append( ">, " );
-
-    // The time
-    sb.append( "time : <" ).append( beginTime ).append( ", " ).append( endTime ).append( ">, " );
-
-    // The lock date
-    sb.append( "lock date : <" ).append( beginLockDate ).append( ", " ).append( endLockDate ).append( ">, " );
-
-    // The timeout
-    sb.append( "timeout : " ).append( timeout ).append( ", " );
-
-    // The day mask
-    sb.append( "daymask : " ).append( dayMask );
-
-    // The parents if any
-    if ( ( parents != null ) && ( parents.size() > 0 ) )
+    
+    
+    /**
+     * Set a list of occupants for a particular Role entity.
+     * @param occupants contains a List of type String which maps to 'roleOccupant' attribute on 'organizationalrole' object class.
+     */
+    public void setOccupants( List<String> occupants )
+    {
+        this.occupants = occupants;
+    }
+    
+    
+    /**
+     * Returns optional description that is associated with Role.  This attribute is validated but not constrained by Fortress.
+     *
+     * @return value that is mapped to 'description' in 'organizationalrole' object class.
+     */
+    public String getDescription()
+    {
+        return this.description;
+    }
+    
+    
+    /**
+     * Sets the optional description that is associated with Role.  This attribute is validated but not constrained by Fortress.
+     *
+     * @param description that is mapped to same name in 'organizationalrole' object class.
+     */
+    public void setDescription( String description )
+    {
+        this.description = description;
+    }
+    
+    
+    /**
+     * Return the internal id that is associated with Role.  This attribute is generated automatically
+     * by Fortress when new Role is added to directory and is not known or changeable by external client.
+     *
+     * @return attribute maps to 'ftId' in 'ftRls' object class.
+     */
+    public String getId()
+    {
+        return id;
+    }
+    
+    
+    /**
+     * Generate an internal Id that is associated with Role.  This method is used by DAO class and
+     * is not available to outside classes.   The generated attribute maps to 'ftId' in 'ftRls' object class.
+     */
+    public void setId()
+    {
+        // generate a unique id that will be used as the rDn for this entry:
+        UUID uuid = UUID.randomUUID();
+        this.id = uuid.toString();
+    }
+    
+    
+    /**
+     * Set the internal Id that is associated with Role.  This method is used by DAO class and
+     * is generated automatically by Fortress.  Attribute stored in LDAP cannot be changed by external caller.
+     * This method can be used by client for search purposes only.
+     *
+     * @param id maps to 'ftId' in 'ftRls' object class.
+     */
+    public void setId( String id )
     {
-        sb.append( ", parents : {" );
+        this.id = id;
+    }
 
-        boolean isFirst = true;
 
-        for ( String parent : parents )
+    /**
+     * temporal boolean flag is used by internal Fortress components.
+     *
+     * @return boolean indicating if temporal constraints are placed on Role.
+     */
+    @Override
+    public boolean isTemporalSet()
+    {
+        return ( beginTime != null || endTime != null || beginDate != null || endDate != null || beginLockDate != null
+            || endLockDate != null || dayMask != null );
+    }
+    
+    
+    /**
+     * Contains the begin time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0800 (8:00 am) or 1700 (5:00 p.m.).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getBeginTime()
+    {
+        return this.beginTime;
+    }
+    
+    
+    /**
+     * Set the begin time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0800 (8:00 am) or 1700 (5:00 p.m.).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param beginTime maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setBeginTime( String beginTime )
+    {
+        this.beginTime = beginTime;
+    }
+    
+    
+    /**
+     * Contains the end time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0000 (12:00 am) or 2359 (11:59 p.m.).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getEndTime()
+    {
+        return this.endTime;
+    }
+    
+    
+    /**
+     * Set the end time of day Role is allowed to be activated in session.  The format is military time - HHMM, i.e. 0000 (12:00 am) or 2359 (11:59 p.m.).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param endTime maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setEndTime( String endTime )
+    {
+        this.endTime = endTime;
+    }
+    
+    
+    /**
+     * Contains the begin date when Role is allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getBeginDate()
+    {
+        return this.beginDate;
+    }
+    
+    
+    /**
+     * Set the beginDate when Role is allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param beginDate maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setBeginDate( String beginDate )
+    {
+        this.beginDate = beginDate;
+    }
+    
+    
+    /**
+     * Contains the end date when Role is allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20101231 (December 31, 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getEndDate()
+    {
+        return this.endDate;
+    }
+    
+    
+    /**
+     * Set the end date when Role is not allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param endDate maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setEndDate( String endDate )
+    {
+        this.endDate = endDate;
+    }
+    
+    
+    /**
+     * Contains the begin lock date when Role is temporarily not allowed to be activated in session.  The format is - YYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getBeginLockDate()
+    {
+        return this.beginLockDate;
+    }
+    
+    
+    /**
+     * Set the begin lock date when Role is temporarily not allowed to be activated in session.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param beginLockDate maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setBeginLockDate( String beginLockDate )
+    {
+        this.beginLockDate = beginLockDate;
+    }
+    
+    
+    /**
+     * Contains the end lock date when Role is allowed to be activated in session once again.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getEndLockDate()
+    {
+        return this.endLockDate;
+    }
+    
+    
+    /**
+     * Set the end lock date when Role is allowed to be activated in session once again.  The format is - YYYYMMDD, i.e. 20100101 (January 1. 2010).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param endLockDate maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setEndLockDate( String endLockDate )
+    {
+        this.endLockDate = endLockDate;
+    }
+    
+    
+    /**
+     * Get the daymask that indicates what days of week Role is allowed to be activated in session.  The format is 1234567, i.e. 23456 (Monday, Tuesday, Wednesday, Thursday, Friday).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return attribute maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public String getDayMask()
+    {
+        return this.dayMask;
+    }
+    
+    
+    /**
+     * Set the daymask that specifies what days of week Role is allowed to be activated in session.  The format is 1234567, i.e. 23456 (Monday, Tuesday, Wednesday, Thursday, Friday).
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param dayMask maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setDayMask( String dayMask )
+    {
+        this.dayMask = dayMask;
+    }
+    
+    
+    /**
+     * Return the integer timeout that contains total time (in seconds) that Role may remain inactive in User's session before it is deactivated.
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @return int maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public Integer getTimeout()
+    {
+        return this.timeout;
+    }
+    
+    
+    /**
+     * Set the integer timeout that contains max time (in seconds) that Role may remain inactive in User's session before it is deactivated.
+     * This attribute is optional but if set will be validated for reasonableness.
+     *
+     * @param timeout maps to 'ftCstr' attribute in 'ftRls' object class.
+     */
+    @Override
+    public void setTimeout( Integer timeout )
+    {
+        this.timeout = timeout;
+    }
+    
+    
+    /**
+     * Get the names of roles that are parents (direct ascendants) of this role.
+     * @return Set of parent role names assigned to this role.
+     */
+    @Override
+    public Set<String> getParents()
+    {
+        if ( this.parents == null )
         {
-            if ( isFirst )
-            {
-                isFirst = false;
-            }
-            else
-            {
-                sb.append( '|' );
-            }
-
-            sb.append( parent );
+            this.parents = new HashSet<>();
         }
-
-        sb.append( '}' );
+        return parents;
     }
-
-    // The children if any
-    if ( ( children != null ) && ( children.size() > 0 ) )
+    
+    
+    /**
+     * Set the names of roles names that are parents (direct ascendants) of this role.
+     * @param parents contains the Set of parent role names assigned to this role.
+     */
+    @Override
+    public void setParents( Set<String> parents )
     {
-        sb.append( ", children : {" );
-
-        boolean isFirst = true;
-
-        for ( String child : children )
+        this.parents = parents;
+    }
+    
+    
+    /**
+     * Set the occupant attribute with the contents of the User dn.
+     * @param parent maps to 'ftParents' attribute on 'ftRls' object class.
+     */
+    @Override
+    public void setParent( String parent )
+    {
+        if ( this.parents == null )
+        {
+            this.parents = new HashSet<>();
+        }
+        this.parents.add( parent );
+    }
+    
+    
+    /**
+     * Set the occupant attribute with the contents of the User dn.
+     * @param parent maps to 'ftParents' attribute on 'ftRls' object class.
+     */
+    @Override
+    public void delParent( String parent )
+    {
+        if ( this.parents != null )
+        {
+            this.parents.remove( parent );
+        }
+    }
+    
+    
+    /**
+     * Return the Set of child role names (direct descendants) of this role.
+     * @return Set of child role names assigned to this role.
+     */
+    public Set<String> getChildren()
+    {
+        return children;
+    }
+    
+    
+    /**
+     * Set the Set of child role names (direct descendants) of this role
+     * @param children contains the Set of child role names assigned to this role.
+     */
+    public void setChildren( Set<String> children )
+    {
+        this.children = children;
+    }
+    
+    
+    /**
+     * Matches the name from two Role entities.
+     *
+     * @param thatObj contains a Role entity.
+     * @return boolean indicating both objects contain matching Role names.
+     */
+    public boolean equals( Object thatObj )
+    {
+        if ( this == thatObj )
+        {
+            return true;
+        }
+    
+        if ( name == null )
         {
-            if ( isFirst )
+            return false;
+        }
+    
+        if ( !( thatObj instanceof Role ) )
+        {
+            return false;
+        }
+    
+        Role thatRole = ( Role ) thatObj;
+    
+        if ( thatRole.getName() == null )
+        {
+            return false;
+        }
+    
+        return thatRole.getName().equalsIgnoreCase( name );
+    }
+    
+    
+    /**
+     * @see Object#toString()
+     */
+    protected String toString( String tabs )
+    {
+        StringBuilder sb = new StringBuilder();
+    
+        sb.append( tabs ).append( "Role[" );
+    
+        // The name
+        sb.append( name ).append( ", " );
+    
+        if ( ( description != null ) && ( description.length() > 0 ) )
+        {
+            sb.append( description ).append( ", " );
+        }
+    
+        // the date
+        sb.append( "date : <" ).append( beginDate ).append( ", " ).append( endDate ).append( ">, " );
+    
+        // The time
+        sb.append( "time : <" ).append( beginTime ).append( ", " ).append( endTime ).append( ">, " );
+    
+        // The lock date
+        sb.append( "lock date : <" ).append( beginLockDate ).append( ", " ).append( endLockDate ).append( ">, " );
+    
+        // The timeout
+        sb.append( "timeout : " ).append( timeout ).append( ", " );
+    
+        // The day mask
+        sb.append( "daymask : " ).append( dayMask );
+    
+        // The parents if any
+        if ( ( parents != null ) && ( parents.size() > 0 ) )
+        {
+            sb.append( ", parents : {" );
+    
+            boolean isFirst = true;
+    
+            for ( String parent : parents )
             {
-                isFirst = false;
+                if ( isFirst )
+                {
+                    isFirst = false;
+                }
+                else
+                {
+                    sb.append( '|' );
+                }
+    
+                sb.append( parent );
             }
-            else
+    
+            sb.append( '}' );
+        }
+    
+        // The children if any
+        if ( ( children != null ) && ( children.size() > 0 ) )
+        {
+            sb.append( ", children : {" );
+    
+            boolean isFirst = true;
+    
+            for ( String child : children )
             {
-                sb.append( '|' );
+                if ( isFirst )
+                {
+                    isFirst = false;
+                }
+                else
+                {
+                    sb.append( '|' );
+                }
+    
+                sb.append( child );
             }
-
-            sb.append( child );
+    
+            sb.append( '}' );
         }
-
-        sb.append( '}' );
+    
+        sb.append( ']' );
+    
+        return sb.toString();
     }
-
-    sb.append( ']' );
-
-    return sb.toString();
+    
+    
+    /**
+     * @see Object#toString()
+     */
+    public String toString()
+    {
+        return toString( "" );
     }
 }