    001    package org.apache.turbine.services.security.torque.om;
    002
    003
    004    import java.math.BigDecimal;
    005    import java.sql.Connection;
    006    import java.util.ArrayList;
    007    import java.util.Collections;
    008    import java.util.Date;
    009    import java.util.List;
    010
    011    import org.apache.commons.lang.ObjectUtils;
    012    import org.apache.torque.TorqueException;
    013    import org.apache.torque.map.TableMap;
    014    import org.apache.torque.om.BaseObject;
    015    import org.apache.torque.om.ComboKey;
    016    import org.apache.torque.om.DateKey;
    017    import org.apache.torque.om.NumberKey;
    018    import org.apache.torque.om.ObjectKey;
    019    import org.apache.torque.om.SimpleKey;
    020    import org.apache.torque.om.StringKey;
    021    import org.apache.torque.om.Persistent;
    022    import org.apache.torque.util.Criteria;
    023    import org.apache.torque.util.Transaction;
    024
    025
    026
    027
    028
    029    /**
    030     * This class was autogenerated by Torque on:
    031     *
    032     * [Thu Jun 23 17:25:46 CEST 2011]
    033     *
    034     * You should not use this class directly.  It should not even be
    035     * extended all references should be to TurbineUserGroupRole
    036     */
    037    public abstract class BaseTurbineUserGroupRole extends BaseObject
    038    {
    039        /** Serial version */
    040        private static final long serialVersionUID = 1308842746584L;
    041
    042        /** The Peer class */
    043        private static final TurbineUserGroupRolePeer peer =
    044            new TurbineUserGroupRolePeer();
    045
    046
    047        /** The value for the userId field */
    048        private int userId;
    049
    050        /** The value for the groupId field */
    051        private int groupId;
    052
    053        /** The value for the roleId field */
    054        private int roleId;
    055
    056
    057        /**
    058         * Get the UserId
    059         *
    060         * @return int
    061         */
    062        public int getUserId()
    063        {
    064            return userId;
    065        }
    066
    067
    068        /**
    069         * Set the value of UserId
    070         *
    071         * @param v new value
    072         */
    073        public void setUserId(int v) throws TorqueException
    074        {
    075
    076            if (this.userId != v)
    077            {
    078                this.userId = v;
    079                setModified(true);
    080            }
    081
    082
    083            if (aTurbineUser != null && !(aTurbineUser.getUserId() == v))
    084            {
    085                aTurbineUser = null;
    086            }
    087
    088        }
    089
    090        /**
    091         * Get the GroupId
    092         *
    093         * @return int
    094         */
    095        public int getGroupId()
    096        {
    097            return groupId;
    098        }
    099
    100
    101        /**
    102         * Set the value of GroupId
    103         *
    104         * @param v new value
    105         */
    106        public void setGroupId(int v) throws TorqueException
    107        {
    108
    109            if (this.groupId != v)
    110            {
    111                this.groupId = v;
    112                setModified(true);
    113            }
    114
    115
    116            if (aTurbineGroup != null && !(aTurbineGroup.getGroupId() == v))
    117            {
    118                aTurbineGroup = null;
    119            }
    120
    121        }
    122
    123        /**
    124         * Get the RoleId
    125         *
    126         * @return int
    127         */
    128        public int getRoleId()
    129        {
    130            return roleId;
    131        }
    132
    133
    134        /**
    135         * Set the value of RoleId
    136         *
    137         * @param v new value
    138         */
    139        public void setRoleId(int v) throws TorqueException
    140        {
    141
    142            if (this.roleId != v)
    143            {
    144                this.roleId = v;
    145                setModified(true);
    146            }
    147
    148
    149            if (aTurbineRole != null && !(aTurbineRole.getRoleId() == v))
    150            {
    151                aTurbineRole = null;
    152            }
    153
    154        }
    155
    156
    157
    158
    159
    160        private TurbineUser aTurbineUser;
    161
    162        /**
    163         * Declares an association between this object and a TurbineUser object
    164         *
    165         * @param v TurbineUser
    166         * @throws TorqueException
    167         */
    168        public void setTurbineUser(TurbineUser v) throws TorqueException
    169        {
    170            if (v == null)
    171            {
    172                setUserId( 0);
    173            }
    174            else
    175            {
    176                setUserId(v.getUserId());
    177            }
    178            aTurbineUser = v;
    179        }
    180
    181
    182        /**
    183         * Returns the associated TurbineUser object.
    184         * If it was not retrieved before, the object is retrieved from
    185         * the database
    186         *
    187         * @return the associated TurbineUser object
    188         * @throws TorqueException
    189         */
    190        public TurbineUser getTurbineUser()
    191            throws TorqueException
    192        {
    193            if (aTurbineUser == null && (this.userId != 0))
    194            {
    195                aTurbineUser = TurbineUserPeer.retrieveByPK(SimpleKey.keyFor(this.userId));
    196            }
    197            return aTurbineUser;
    198        }
    199
    200        /**
    201         * Return the associated TurbineUser object
    202         * If it was not retrieved before, the object is retrieved from
    203         * the database using the passed connection
    204         *
    205         * @param connection the connection used to retrieve the associated object
    206         *        from the database, if it was not retrieved before
    207         * @return the associated TurbineUser object
    208         * @throws TorqueException
    209         */
    210        public TurbineUser getTurbineUser(Connection connection)
    211            throws TorqueException
    212        {
    213            if (aTurbineUser == null && (this.userId != 0))
    214            {
    215                aTurbineUser = TurbineUserPeer.retrieveByPK(SimpleKey.keyFor(this.userId), connection);
    216            }
    217            return aTurbineUser;
    218        }
    219
    220        /**
    221         * Provides convenient way to set a relationship based on a
    222         * ObjectKey, for example
    223         * <code>bar.setFooKey(foo.getPrimaryKey())</code>
    224         *
    225         */
    226        public void setTurbineUserKey(ObjectKey key) throws TorqueException
    227        {
    228
    229            setUserId(((NumberKey) key).intValue());
    230        }
    231
    232
    233
    234
    235        private TurbineGroup aTurbineGroup;
    236
    237        /**
    238         * Declares an association between this object and a TurbineGroup object
    239         *
    240         * @param v TurbineGroup
    241         * @throws TorqueException
    242         */
    243        public void setTurbineGroup(TurbineGroup v) throws TorqueException
    244        {
    245            if (v == null)
    246            {
    247                setGroupId( 0);
    248            }
    249            else
    250            {
    251                setGroupId(v.getGroupId());
    252            }
    253            aTurbineGroup = v;
    254        }
    255
    256
    257        /**
    258         * Returns the associated TurbineGroup object.
    259         * If it was not retrieved before, the object is retrieved from
    260         * the database
    261         *
    262         * @return the associated TurbineGroup object
    263         * @throws TorqueException
    264         */
    265        public TurbineGroup getTurbineGroup()
    266            throws TorqueException
    267        {
    268            if (aTurbineGroup == null && (this.groupId != 0))
    269            {
    270                aTurbineGroup = TurbineGroupPeer.retrieveByPK(SimpleKey.keyFor(this.groupId));
    271            }
    272            return aTurbineGroup;
    273        }
    274
    275        /**
    276         * Return the associated TurbineGroup object
    277         * If it was not retrieved before, the object is retrieved from
    278         * the database using the passed connection
    279         *
    280         * @param connection the connection used to retrieve the associated object
    281         *        from the database, if it was not retrieved before
    282         * @return the associated TurbineGroup object
    283         * @throws TorqueException
    284         */
    285        public TurbineGroup getTurbineGroup(Connection connection)
    286            throws TorqueException
    287        {
    288            if (aTurbineGroup == null && (this.groupId != 0))
    289            {
    290                aTurbineGroup = TurbineGroupPeer.retrieveByPK(SimpleKey.keyFor(this.groupId), connection);
    291            }
    292            return aTurbineGroup;
    293        }
    294
    295        /**
    296         * Provides convenient way to set a relationship based on a
    297         * ObjectKey, for example
    298         * <code>bar.setFooKey(foo.getPrimaryKey())</code>
    299         *
    300         */
    301        public void setTurbineGroupKey(ObjectKey key) throws TorqueException
    302        {
    303
    304            setGroupId(((NumberKey) key).intValue());
    305        }
    306
    307
    308
    309
    310        private TurbineRole aTurbineRole;
    311
    312        /**
    313         * Declares an association between this object and a TurbineRole object
    314         *
    315         * @param v TurbineRole
    316         * @throws TorqueException
    317         */
    318        public void setTurbineRole(TurbineRole v) throws TorqueException
    319        {
    320            if (v == null)
    321            {
    322                setRoleId( 0);
    323            }
    324            else
    325            {
    326                setRoleId(v.getRoleId());
    327            }
    328            aTurbineRole = v;
    329        }
    330
    331
    332        /**
    333         * Returns the associated TurbineRole object.
    334         * If it was not retrieved before, the object is retrieved from
    335         * the database
    336         *
    337         * @return the associated TurbineRole object
    338         * @throws TorqueException
    339         */
    340        public TurbineRole getTurbineRole()
    341            throws TorqueException
    342        {
    343            if (aTurbineRole == null && (this.roleId != 0))
    344            {
    345                aTurbineRole = TurbineRolePeer.retrieveByPK(SimpleKey.keyFor(this.roleId));
    346            }
    347            return aTurbineRole;
    348        }
    349
    350        /**
    351         * Return the associated TurbineRole object
    352         * If it was not retrieved before, the object is retrieved from
    353         * the database using the passed connection
    354         *
    355         * @param connection the connection used to retrieve the associated object
    356         *        from the database, if it was not retrieved before
    357         * @return the associated TurbineRole object
    358         * @throws TorqueException
    359         */
    360        public TurbineRole getTurbineRole(Connection connection)
    361            throws TorqueException
    362        {
    363            if (aTurbineRole == null && (this.roleId != 0))
    364            {
    365                aTurbineRole = TurbineRolePeer.retrieveByPK(SimpleKey.keyFor(this.roleId), connection);
    366            }
    367            return aTurbineRole;
    368        }
    369
    370        /**
    371         * Provides convenient way to set a relationship based on a
    372         * ObjectKey, for example
    373         * <code>bar.setFooKey(foo.getPrimaryKey())</code>
    374         *
    375         */
    376        public void setTurbineRoleKey(ObjectKey key) throws TorqueException
    377        {
    378
    379            setRoleId(((NumberKey) key).intValue());
    380        }
    381
    382
    383        private static List<String> fieldNames = null;
    384
    385        /**
    386         * Generate a list of field names.
    387         *
    388         * @return a list of field names
    389         */
    390        public static synchronized List<String> getFieldNames()
    391        {
    392            if (fieldNames == null)
    393            {
    394                fieldNames = new ArrayList<String>();
    395                fieldNames.add("UserId");
    396                fieldNames.add("GroupId");
    397                fieldNames.add("RoleId");
    398                fieldNames = Collections.unmodifiableList(fieldNames);
    399            }
    400            return fieldNames;
    401        }
    402
    403        /**
    404         * Retrieves a field from the object by field (Java) name passed in as a String.
    405         *
    406         * @param name field name
    407         * @return value
    408         */
    409        public Object getByName(String name)
    410        {
    411            if (name.equals("UserId"))
    412            {
    413                return new Integer(getUserId());
    414            }
    415            if (name.equals("GroupId"))
    416            {
    417                return new Integer(getGroupId());
    418            }
    419            if (name.equals("RoleId"))
    420            {
    421                return new Integer(getRoleId());
    422            }
    423            return null;
    424        }
    425
    426        /**
    427         * Set a field in the object by field (Java) name.
    428         *
    429         * @param name field name
    430         * @param value field value
    431         * @return True if value was set, false if not (invalid name / protected field).
    432         * @throws IllegalArgumentException if object type of value does not match field object type.
    433         * @throws TorqueException If a problem occurs with the set[Field] method.
    434         */
    435        public boolean setByName(String name, Object value )
    436            throws TorqueException, IllegalArgumentException
    437        {
    438            if (name.equals("UserId"))
    439            {
    440                if (value == null || ! (Integer.class.isInstance(value)))
    441                {
    442                    throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
    443                }
    444                setUserId(((Integer) value).intValue());
    445                return true;
    446            }
    447            if (name.equals("GroupId"))
    448            {
    449                if (value == null || ! (Integer.class.isInstance(value)))
    450                {
    451                    throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
    452                }
    453                setGroupId(((Integer) value).intValue());
    454                return true;
    455            }
    456            if (name.equals("RoleId"))
    457            {
    458                if (value == null || ! (Integer.class.isInstance(value)))
    459                {
    460                    throw new IllegalArgumentException("setByName: value parameter was null or not an Integer object.");
    461                }
    462                setRoleId(((Integer) value).intValue());
    463                return true;
    464            }
    465            return false;
    466        }
    467
    468        /**
    469         * Retrieves a field from the object by name passed in
    470         * as a String.  The String must be one of the static
    471         * Strings defined in this Class' Peer.
    472         *
    473         * @param name peer name
    474         * @return value
    475         */
    476        public Object getByPeerName(String name)
    477        {
    478            if (name.equals(TurbineUserGroupRolePeer.USER_ID))
    479            {
    480                return new Integer(getUserId());
    481            }
    482            if (name.equals(TurbineUserGroupRolePeer.GROUP_ID))
    483            {
    484                return new Integer(getGroupId());
    485            }
    486            if (name.equals(TurbineUserGroupRolePeer.ROLE_ID))
    487            {
    488                return new Integer(getRoleId());
    489            }
    490            return null;
    491        }
    492
    493        /**
    494         * Set field values by Peer Field Name
    495         *
    496         * @param name field name
    497         * @param value field value
    498         * @return True if value was set, false if not (invalid name / protected field).
    499         * @throws IllegalArgumentException if object type of value does not match field object type.
    500         * @throws TorqueException If a problem occurs with the set[Field] method.
    501         */
    502        public boolean setByPeerName(String name, Object value)
    503            throws TorqueException, IllegalArgumentException
    504        {
    505          if (TurbineUserGroupRolePeer.USER_ID.equals(name))
    506            {
    507                return setByName("UserId", value);
    508            }
    509          if (TurbineUserGroupRolePeer.GROUP_ID.equals(name))
    510            {
    511                return setByName("GroupId", value);
    512            }
    513          if (TurbineUserGroupRolePeer.ROLE_ID.equals(name))
    514            {
    515                return setByName("RoleId", value);
    516            }
    517            return false;
    518        }
    519
    520        /**
    521         * Retrieves a field from the object by Position as specified
    522         * in the xml schema.  Zero-based.
    523         *
    524         * @param pos position in xml schema
    525         * @return value
    526         */
    527        public Object getByPosition(int pos)
    528        {
    529            if (pos == 0)
    530            {
    531                return new Integer(getUserId());
    532            }
    533            if (pos == 1)
    534            {
    535                return new Integer(getGroupId());
    536            }
    537            if (pos == 2)
    538            {
    539                return new Integer(getRoleId());
    540            }
    541            return null;
    542        }
    543
    544        /**
    545         * Set field values by its position (zero based) in the XML schema.
    546         *
    547         * @param position The field position
    548         * @param value field value
    549         * @return True if value was set, false if not (invalid position / protected field).
    550         * @throws IllegalArgumentException if object type of value does not match field object type.
    551         * @throws TorqueException If a problem occurs with the set[Field] method.
    552         */
    553        public boolean setByPosition(int position, Object value)
    554            throws TorqueException, IllegalArgumentException
    555        {
    556        if (position == 0)
    557            {
    558                return setByName("UserId", value);
    559            }
    560        if (position == 1)
    561            {
    562                return setByName("GroupId", value);
    563            }
    564        if (position == 2)
    565            {
    566                return setByName("RoleId", value);
    567            }
    568            return false;
    569        }
    570
    571        /**
    572         * Stores the object in the database.  If the object is new,
    573         * it inserts it; otherwise an update is performed.
    574         *
    575         * @throws Exception
    576         */
    577        public void save() throws Exception
    578        {
    579            save(TurbineUserGroupRolePeer.DATABASE_NAME);
    580        }
    581
    582        /**
    583         * Stores the object in the database.  If the object is new,
    584         * it inserts it; otherwise an update is performed.
    585         * Note: this code is here because the method body is
    586         * auto-generated conditionally and therefore needs to be
    587         * in this file instead of in the super class, BaseObject.
    588         *
    589         * @param dbName
    590         * @throws TorqueException
    591         */
    592        public void save(String dbName) throws TorqueException
    593        {
    594            Connection con = null;
    595            try
    596            {
    597                con = Transaction.begin(dbName);
    598                save(con);
    599                Transaction.commit(con);
    600            }
    601            catch(TorqueException e)
    602            {
    603                Transaction.safeRollback(con);
    604                throw e;
    605            }
    606        }
    607
    608        /** flag to prevent endless save loop, if this object is referenced
    609            by another object which falls in this transaction. */
    610        private boolean alreadyInSave = false;
    611        /**
    612         * Stores the object in the database.  If the object is new,
    613         * it inserts it; otherwise an update is performed.  This method
    614         * is meant to be used as part of a transaction, otherwise use
    615         * the save() method and the connection details will be handled
    616         * internally
    617         *
    618         * @param con
    619         * @throws TorqueException
    620         */
    621        public void save(Connection con) throws TorqueException
    622        {
    623            if (!alreadyInSave)
    624            {
    625                alreadyInSave = true;
    626
    627
    628
    629                // If this object has been modified, then save it to the database.
    630                if (isModified())
    631                {
    632                    if (isNew())
    633                    {
    634                        TurbineUserGroupRolePeer.doInsert((TurbineUserGroupRole) this, con);
    635                        setNew(false);
    636                    }
    637                    else
    638                    {
    639                        TurbineUserGroupRolePeer.doUpdate((TurbineUserGroupRole) this, con);
    640                    }
    641                }
    642
    643                alreadyInSave = false;
    644            }
    645        }
    646
    647
    648
    649        private final SimpleKey[] pks = new SimpleKey[3];
    650        private final ComboKey comboPK = new ComboKey(pks);
    651
    652        /**
    653         * Set the PrimaryKey with an ObjectKey
    654         *
    655         * @param key
    656         */
    657        public void setPrimaryKey(ObjectKey key) throws TorqueException
    658        {
    659            SimpleKey[] keys = (SimpleKey[]) key.getValue();
    660            setUserId(((NumberKey)keys[0]).intValue());
    661            setGroupId(((NumberKey)keys[1]).intValue());
    662            setRoleId(((NumberKey)keys[2]).intValue());
    663        }
    664
    665        /**
    666         * Set the PrimaryKey using SimpleKeys.
    667         *
    668         * @param userId int
    669         * @param groupId int
    670         * @param roleId int
    671         */
    672        public void setPrimaryKey( int userId, int groupId, int roleId)
    673            throws TorqueException
    674        {
    675            setUserId(userId);
    676            setGroupId(groupId);
    677            setRoleId(roleId);
    678        }
    679
    680        /**
    681         * Set the PrimaryKey using a String.
    682         */
    683        public void setPrimaryKey(String key) throws TorqueException
    684        {
    685            setPrimaryKey(new ComboKey(key));
    686        }
    687
    688        /**
    689         * returns an id that differentiates this object from others
    690         * of its class.
    691         */
    692        public ObjectKey getPrimaryKey()
    693        {
    694            pks[0] = SimpleKey.keyFor(getUserId());
    695            pks[1] = SimpleKey.keyFor(getGroupId());
    696            pks[2] = SimpleKey.keyFor(getRoleId());
    697            return comboPK;
    698        }
    699
    700
    701        /**
    702         * Makes a copy of this object.
    703         * It creates a new object filling in the simple attributes.
    704         * It then fills all the association collections and sets the
    705         * related objects to isNew=true.
    706         */
    707        public TurbineUserGroupRole copy() throws TorqueException
    708        {
    709            return copy(true);
    710        }
    711
    712        /**
    713         * Makes a copy of this object using connection.
    714         * It creates a new object filling in the simple attributes.
    715         * It then fills all the association collections and sets the
    716         * related objects to isNew=true.
    717         *
    718         * @param con the database connection to read associated objects.
    719         */
    720        public TurbineUserGroupRole copy(Connection con) throws TorqueException
    721        {
    722            return copy(true, con);
    723        }
    724
    725        /**
    726         * Makes a copy of this object.
    727         * It creates a new object filling in the simple attributes.
    728         * If the parameter deepcopy is true, it then fills all the
    729         * association collections and sets the related objects to
    730         * isNew=true.
    731         *
    732         * @param deepcopy whether to copy the associated objects.
    733         */
    734        public TurbineUserGroupRole copy(boolean deepcopy) throws TorqueException
    735        {
    736            return copyInto(new TurbineUserGroupRole(), deepcopy);
    737        }
    738
    739        /**
    740         * Makes a copy of this object using connection.
    741         * It creates a new object filling in the simple attributes.
    742         * If the parameter deepcopy is true, it then fills all the
    743         * association collections and sets the related objects to
    744         * isNew=true.
    745         *
    746         * @param deepcopy whether to copy the associated objects.
    747         * @param con the database connection to read associated objects.
    748         */
    749        public TurbineUserGroupRole copy(boolean deepcopy, Connection con) throws TorqueException
    750        {
    751            return copyInto(new TurbineUserGroupRole(), deepcopy, con);
    752        }
    753
    754        /**
    755         * Fills the copyObj with the contents of this object.
    756         * The associated objects are also copied and treated as new objects.
    757         *
    758         * @param copyObj the object to fill.
    759         */
    760        protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj) throws TorqueException
    761        {
    762            return copyInto(copyObj, true);
    763        }
    764
    765
    766        /**
    767         * Fills the copyObj with the contents of this object using connection.
    768         * The associated objects are also copied and treated as new objects.
    769         *
    770         * @param copyObj the object to fill.
    771         * @param con the database connection to read associated objects.
    772         */
    773        protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj, Connection con) throws TorqueException
    774        {
    775            return copyInto(copyObj, true, con);
    776        }
    777
    778        /**
    779         * Fills the copyObj with the contents of this object.
    780         * If deepcopy is true, The associated objects are also copied
    781         * and treated as new objects.
    782         *
    783         * @param copyObj the object to fill.
    784         * @param deepcopy whether the associated objects should be copied.
    785         */
    786        protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj, boolean deepcopy) throws TorqueException
    787        {
    788            copyObj.setUserId(userId);
    789            copyObj.setGroupId(groupId);
    790            copyObj.setRoleId(roleId);
    791
    792            copyObj.setUserId( 0);
    793            copyObj.setGroupId( 0);
    794            copyObj.setRoleId( 0);
    795
    796            if (deepcopy)
    797            {
    798            }
    799            return copyObj;
    800        }
    801
    802
    803        /**
    804         * Fills the copyObj with the contents of this object using connection.
    805         * If deepcopy is true, The associated objects are also copied
    806         * and treated as new objects.
    807         *
    808         * @param copyObj the object to fill.
    809         * @param deepcopy whether the associated objects should be copied.
    810         * @param con the database connection to read associated objects.
    811         */
    812        protected TurbineUserGroupRole copyInto(TurbineUserGroupRole copyObj, boolean deepcopy, Connection con) throws TorqueException
    813        {
    814            copyObj.setUserId(userId);
    815            copyObj.setGroupId(groupId);
    816            copyObj.setRoleId(roleId);
    817
    818            copyObj.setUserId( 0);
    819            copyObj.setGroupId( 0);
    820            copyObj.setRoleId( 0);
    821
    822            if (deepcopy)
    823            {
    824            }
    825            return copyObj;
    826        }
    827
    828
    829
    830        /**
    831         * returns a peer instance associated with this om.  Since Peer classes
    832         * are not to have any instance attributes, this method returns the
    833         * same instance for all member of this class. The method could therefore
    834         * be static, but this would prevent one from overriding the behavior.
    835         */
    836        public TurbineUserGroupRolePeer getPeer()
    837        {
    838            return peer;
    839        }
    840
    841        /**
    842         * Retrieves the TableMap object related to this Table data without
    843         * compiler warnings of using getPeer().getTableMap().
    844         *
    845         * @return The associated TableMap object.
    846         */
    847        public TableMap getTableMap() throws TorqueException
    848        {
    849            return TurbineUserGroupRolePeer.getTableMap();
    850        }
    851
    852
    853        public String toString()
    854        {
    855            StringBuffer str = new StringBuffer();
    856            str.append("TurbineUserGroupRole:\n");
    857            str.append("UserId = ")
    858               .append(getUserId())
    859               .append("\n");
    860            str.append("GroupId = ")
    861               .append(getGroupId())
    862               .append("\n");
    863            str.append("RoleId = ")
    864               .append(getRoleId())
    865               .append("\n");
    866            return(str.toString());
    867        }
    868    }