# Class MessagePolicy

java.lang.Object
jakarta.security.auth.message.MessagePolicy

public class MessagePolicy extends Object
Defines the security policy requirements for a message-based authentication module. A `MessagePolicy` specifies the target policies that determine which messages require authentication and the level of protection required.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`MessagePolicy.ProtectionPolicy`
Defines the level of protection to be applied to a message.
`static interface`
`MessagePolicy.Target`
Defines how to extract target information from a message for policy evaluation.
`static class`
`MessagePolicy.TargetPolicy`
Associates a set of targets with a protection policy.

## Constructor Summary

Constructors
Constructor
Description
`MessagePolicy(MessagePolicy.TargetPolicy[] targetPolicies, boolean mandatory)`
Creates a new `MessagePolicy` with the specified target policies and mandatory flag.

## Method Summary

Modifier and Type
Method
Description
`MessagePolicy.TargetPolicy[]`
`getTargetPolicies()`
Returns the target policies associated with this message policy.
`boolean`
`isMandatory()`
Indicates whether this policy is mandatory.

### Methods inherited from class Object

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

## Constructor Details

### MessagePolicy

public MessagePolicy(MessagePolicy.TargetPolicy[] targetPolicies, boolean mandatory)
Creates a new `MessagePolicy` with the specified target policies and mandatory flag.

Parameters:
  `targetPolicies` - the array of `TargetPolicy` objects defining the policy requirements; must not be `null`
  `mandatory` - `true` if the policy is mandatory and authentication must succeed; `false` if the policy is optional
Throws:
  `IllegalArgumentException` - if `targetPolicies` is `null`

## Method Details

### isMandatory

public boolean isMandatory()
Indicates whether this policy is mandatory. If mandatory, the authentication module must enforce the policy and authentication will fail if the policy cannot be satisfied.

Returns:
  `true` if the policy is mandatory, `false` otherwise

### getTargetPolicies

public MessagePolicy.TargetPolicy[] getTargetPolicies()
Returns the target policies associated with this message policy.

Returns:
  an array of `TargetPolicy` objects, or `null` if no target policies are defined