Package com.mckoi.database

## Class Privileges

- java.lang.Object
- - com.mckoi.database.Privileges

    public class Privileges
    extends java.lang.Object

A set of privileges to grant a user for an object.

Author:
  Tobias Downer

### Field Summary

Fields
`static int` `ALL` The priv to allow full access to the database object.
`static int` `ALTER` The priv to alter objects (only applicable for SCHEMA grant objects).
`static int` `COMPACT` The priv to compact a database object.
`static int` `CREATE` The priv to create objects (only applicable for SCHEMA grant objects).
`static int` `DELETE` The priv to DELETE from a database object.
`static int` `DROP` The priv to drop objects (only applicable for SCHEMA grant objects).
`static Privileges` `EMPTY_PRIVS` No privileges.
`static int` `INSERT` The priv to INSERT to a database object.
`static int` `LIST` The priv to view objects in a schema (only applicable for SCHEMA grant objects).
`static Privileges` `PROCEDURE_ALL_PRIVS` All access (execute/update/delete/etc) privs for a procedure object.
`static Privileges` `PROCEDURE_EXECUTE_PRIVS` Execute access privs for a procedure object.
`static int` `REFERENCES` The priv to REFERENCE a database object.
`static Privileges` `SCHEMA_ALL_PRIVS` All access privs for a schema object.
`static Privileges` `SCHEMA_READ_PRIVS` Read access privs for a schema object.
`static int` `SELECT` The priv to SELECT from a database object.
`static Privileges` `TABLE_ALL_PRIVS` Enable all privs for the object.
`static Privileges` `TABLE_READ_PRIVS` Read privs for the object.
`static int` `UPDATE` The priv to UPDATE a database object.
`static int` `USAGE` The priv to see statistics on a database object.

### Constructor Summary

Constructors
`Privileges()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`Privileges` `add​(int priv)` Adds a privilege and returns a new Privileges object with the new priv set.
`boolean` `equals​(java.lang.Object ob)`
`boolean` `isEmpty()` Returns true if this Privileges object contains no priv entries.
`Privileges` `merge​(Privileges in_privs)` Merges privs from the given privilege object with this set of privs.
`static int` `parseString​(java.lang.String priv)` Given a string, returns the priv bit for it.
`boolean` `permits​(int priv)` Returns true if this privileges permits the given priv.
`Privileges` `remove​(int priv)` Removes a privilege with a column list parameter.
`Privileges` `remove​(Privileges privs)` Removes the given privileges from this privileges object and returns the new privileges object.
`java.lang.String` `toEncodedString()` Converts this privilege to an encoded string.
`int` `toInt()` Returns this Privileges object as an encoded int bit array.
`java.lang.String` `toString()`

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

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### ALL

    public static final int ALL

The priv to allow full access to the database object. If this is used, it should be the only privilege added.

See Also:
  Constant Field Values

#### SELECT

    public static final int SELECT

The priv to SELECT from a database object.

See Also:
  Constant Field Values

#### DELETE

    public static final int DELETE

The priv to DELETE from a database object.

See Also:
  Constant Field Values

#### UPDATE

    public static final int UPDATE

The priv to UPDATE a database object.

See Also:
  Constant Field Values

#### INSERT

    public static final int INSERT

The priv to INSERT to a database object.

See Also:
  Constant Field Values

#### REFERENCES

    public static final int REFERENCES

The priv to REFERENCE a database object.

See Also:
  Constant Field Values

#### USAGE

    public static final int USAGE

The priv to see statistics on a database object.

See Also:
  Constant Field Values

#### COMPACT

    public static final int COMPACT

The priv to compact a database object.

See Also:
  Constant Field Values

#### CREATE

    public static final int CREATE

The priv to create objects (only applicable for SCHEMA grant objects).

See Also:
  Constant Field Values

#### ALTER

    public static final int ALTER

The priv to alter objects (only applicable for SCHEMA grant objects).

See Also:
  Constant Field Values

#### DROP

    public static final int DROP

The priv to drop objects (only applicable for SCHEMA grant objects).

See Also:
  Constant Field Values

#### LIST

    public static final int LIST

The priv to view objects in a schema (only applicable for SCHEMA grant objects).

See Also:
  Constant Field Values

#### EMPTY_PRIVS

    public static final Privileges EMPTY_PRIVS

No privileges.

#### TABLE_ALL_PRIVS

    public static final Privileges TABLE_ALL_PRIVS

Enable all privs for the object.

#### TABLE_READ_PRIVS

    public static final Privileges TABLE_READ_PRIVS

Read privs for the object.

#### SCHEMA_ALL_PRIVS

    public static final Privileges SCHEMA_ALL_PRIVS

All access privs for a schema object.

#### SCHEMA_READ_PRIVS

    public static final Privileges SCHEMA_READ_PRIVS

Read access privs for a schema object.

#### PROCEDURE_ALL_PRIVS

    public static final Privileges PROCEDURE_ALL_PRIVS

All access (execute/update/delete/etc) privs for a procedure object.

#### PROCEDURE_EXECUTE_PRIVS

    public static final Privileges PROCEDURE_EXECUTE_PRIVS

Execute access privs for a procedure object.

### Constructor Detail

#### Privileges

    public Privileges()

### Method Detail

#### add

    public Privileges add​(int priv)

Adds a privilege and returns a new Privileges object with the new priv set.

#### remove

    public Privileges remove​(int priv)

Removes a privilege with a column list parameter.

#### remove

    public Privileges remove​(Privileges privs)

Removes the given privileges from this privileges object and returns the new privileges object.

#### permits

    public boolean permits​(int priv)

Returns true if this privileges permits the given priv.

#### merge

    public Privileges merge​(Privileges in_privs)

Merges privs from the given privilege object with this set of privs. This performs an OR on all the attributes in the set. If the entry does not exist in this set then it is added.

#### isEmpty

    public boolean isEmpty()

Returns true if this Privileges object contains no priv entries.

#### parseString

    public static int parseString​(java.lang.String priv)

Given a string, returns the priv bit for it.

#### toInt

    public int toInt()

Returns this Privileges object as an encoded int bit array.

#### toEncodedString

    public java.lang.String toEncodedString()

Converts this privilege to an encoded string.

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### equals

    public boolean equals​(java.lang.Object ob)

Overrides:
  `equals` in class `java.lang.Object`