Package com.sun.mail.imap

# Class Rights

java.lang.Object
com.sun.mail.imap.Rights

All Implemented Interfaces:
  `Cloneable`

public class Rights extends Object implements Cloneable
The Rights class represents the set of rights for an authentication identifier (for instance, a user or a group).

A right is represented by the `Rights.Right` inner class.

A set of standard rights are predefined (see RFC 2086). Most folder implementations are expected to support these rights. Some implementations may also support site-defined rights.

The following code sample illustrates how to examine your rights for a folder.

     Rights rights = folder.myRights();

     // Check if I can write this folder
     if (rights.contains(Rights.Right.WRITE))
            System.out.println("Can write folder");

     // Now give Joe all my rights, except the ability to write the folder
     rights.remove(Rights.Right.WRITE);
     ACL acl = new ACL("joe", rights);
     folder.setACL(acl);

Author:
  Bill Shannon

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static final class`
`Rights.Right`
This inner class represents an individual right.

## Constructor Summary

Constructors
Constructor
Description
`Rights()`
Construct an empty Rights object.
`Rights(Rights rights)`
Construct a Rights object initialized with the given rights.
`Rights(Rights.Right right)`
Construct a Rights object initialized with the given right.
`Rights(String rights)`
Construct a Rights object initialized with the given rights.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(Rights rights)`
Add all the rights in the given Rights object to this Rights object.
`void`
`add(Rights.Right right)`
Add the specified right to this Rights object.
`Object`
`clone()`
Returns a clone of this Rights object.
`boolean`
`contains(Rights rights)`
Check whether all the rights in the specified Rights object are present in this Rights object.
`boolean`
`contains(Rights.Right right)`
Check whether the specified right is present in this Rights object.
`boolean`
`equals(Object obj)`
Check whether the two Rights objects are equal.
`Rights.Right[]`
`getRights()`
Return all the rights in this Rights object.
`int`
`hashCode()`
Compute a hash code for this Rights object.
`void`
`remove(Rights rights)`
Remove all rights in the given Rights object from this Rights object.
`void`
`remove(Rights.Right right)`
Remove the specified right from this Rights object.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Rights

public Rights()
Construct an empty Rights object.

### Rights

public Rights(Rights rights)
Construct a Rights object initialized with the given rights.

Parameters:
  `rights` - the rights for initialization

### Rights

public Rights(String rights)
Construct a Rights object initialized with the given rights.

Parameters:
  `rights` - the rights for initialization

### Rights

public Rights(Rights.Right right)
Construct a Rights object initialized with the given right.

Parameters:
  `right` - the right for initialization

## Method Details

### add

public void add(Rights.Right right)
Add the specified right to this Rights object.

Parameters:
  `right` - the right to add

### add

public void add(Rights rights)
Add all the rights in the given Rights object to this Rights object.

Parameters:
  `rights` - Rights object

### remove

public void remove(Rights.Right right)
Remove the specified right from this Rights object.

Parameters:
  `right` - the right to be removed

### remove

public void remove(Rights rights)
Remove all rights in the given Rights object from this Rights object.

Parameters:
  `rights` - the rights to be removed

### contains

public boolean contains(Rights.Right right)
Check whether the specified right is present in this Rights object.

Parameters:
  `right` - the Right to check
Returns:
  true of the given right is present, otherwise false.

### contains

public boolean contains(Rights rights)
Check whether all the rights in the specified Rights object are present in this Rights object.

Parameters:
  `rights` - the Rights to check
Returns:
  true if all rights in the given Rights object are present, otherwise false.

### equals

public boolean equals(Object obj)
Check whether the two Rights objects are equal.

Overrides:
  `equals` in class `Object`
Returns:
  true if they're equal

### hashCode

public int hashCode()
Compute a hash code for this Rights object.

Overrides:
  `hashCode` in class `Object`
Returns:
  the hash code

### getRights

public Rights.Right[] getRights()
Return all the rights in this Rights object. Returns an array of size zero if no rights are set.

Returns:
  array of Rights.Right objects representing rights

### clone

public Object clone()
Returns a clone of this Rights object.

Overrides:
  `clone` in class `Object`

### toString

public String toString()

Overrides:
  `toString` in class `Object`