# Interface Accessible

All Known Subinterfaces:
  `ArrayType, ClassType, Field, InterfaceType, Method, ReferenceType, TypeComponent`

public interface Accessible
Provides information on the accessibility of a type or type component. Mirrors for program elements which allow an an access specifier (private, protected, public) provide information on that part of the declaration through this interface.

Since:
  1.3

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isPackagePrivate()`
Determines if this object mirrors a package private item.
`boolean`
`isPrivate()`
Determines if this object mirrors a private item.
`boolean`
`isProtected()`
Determines if this object mirrors a protected item.
`boolean`
`isPublic()`
Determines if this object mirrors a public item.
`int`
`modifiers()`
Returns the Java programming language modifiers, encoded in an integer.

## Method Details

### modifiers

int modifiers()
Returns the Java programming language modifiers, encoded in an integer.

The modifier encodings are defined in The Java Virtual Machine Specification in the `access_flag` tables for classes(section 4.1), fields(section 4.5), and methods(section 4.6).

### isPrivate

boolean isPrivate()
Determines if this object mirrors a private item. For `ArrayType`, the return value depends on the array component type. For primitive arrays the return value is always false. For object arrays, the return value is the same as would be returned for the component type. For primitive classes, such as `Integer.TYPE`, the return value is always false.

Returns:
  `true` for items with private access; `false` otherwise.

### isPackagePrivate

boolean isPackagePrivate()
Determines if this object mirrors a package private item. A package private item is declared with no access specifier. For `ArrayType`, the return value depends on the array component type. For primitive arrays the return value is always false. For object arrays, the return value is the same as would be returned for the component type. For primitive classes, such as `Integer.TYPE`, the return value is always false.

Returns:
  `true` for items with package private access; `false` otherwise.

### isProtected

boolean isProtected()
Determines if this object mirrors a protected item. For `ArrayType`, the return value depends on the array component type. For primitive arrays the return value is always false. For object arrays, the return value is the same as would be returned for the component type. For primitive classes, such as `Integer.TYPE`, the return value is always false.

Returns:
  `true` for items with private access; `false` otherwise.

### isPublic

boolean isPublic()
Determines if this object mirrors a public item. For `ArrayType`, the return value depends on the array component type. For primitive arrays the return value is always true. For object arrays, the return value is the same as would be returned for the component type. For primitive classes, such as `Integer.TYPE`, the return value is always true.

Returns:
  `true` for items with public access; `false` otherwise.