### gnu.inet.encoding

# Class Stringprep

- `java.lang.Object`
- - `gnu.inet.encoding.Stringprep`

`public class Stringprep`
`extends java.lang.Object`

This class offers static methods for preparing internationalized strings. It supports the following stringprep profiles:

- RFC3491 nameprep
- RFC3920 XMPP nodeprep and resourceprep

Note that this implementation only supports 16-bit Unicode code points.

  ## Method Summary

  `static String`

  `nameprep(String input)`
    Preps a name according to the Stringprep profile defined in RFC3491.

  `static String`

  `nameprep(String input, boolean allowUnassigned)`
    Preps a name according to the Stringprep profile defined in RFC3491.

  `static String`

  `nodeprep(String input)`
    Preps a node name according to the Stringprep profile defined in RFC3920.

  `static String`

  `nodeprep(String input, boolean allowUnassigned)`
    Preps a node name according to the Stringprep profile defined in RFC3920.

  `static String`

  `resourceprep(String input)`
    Preps a resource name according to the Stringprep profile defined in RFC3920.

  `static String`

  `resourceprep(String input, boolean allowUnassigned)`
    Preps a resource name according to the Stringprep profile defined in RFC3920.

## Method Details

### nameprep

    public static String nameprep(String input)
                throws StringprepException,
                       NullPointerException

> Preps a name according to the Stringprep profile defined in RFC3491. Unassigned code points are not allowed.
> Parameters:
>   `input` - the name to prep.
> Returns:
>   the prepped name.
> Throws:
>   `StringprepException` - If the name cannot be prepped with this profile.

### nameprep

    public static String nameprep(String input,
                                  boolean allowUnassigned)
                throws StringprepException,
                       NullPointerException

> Preps a name according to the Stringprep profile defined in RFC3491.
> Parameters:
>   `input` - the name to prep.
>   `allowUnassigned` - true if the name may contain unassigned code points.
> Returns:
>   the prepped name.
> Throws:
>   `StringprepException` - If the name cannot be prepped with this profile.

### nodeprep

    public static String nodeprep(String input)
                throws StringprepException,
                       NullPointerException

> Preps a node name according to the Stringprep profile defined in RFC3920. Unassigned code points are not allowed.
> Parameters:
>   `input` - the node name to prep.
> Returns:
>   the prepped node name.
> Throws:
>   `StringprepException` - If the node name cannot be prepped with this profile.

### nodeprep

    public static String nodeprep(String input,
                                  boolean allowUnassigned)
                throws StringprepException,
                       NullPointerException

> Preps a node name according to the Stringprep profile defined in RFC3920.
> Parameters:
>   `input` - the node name to prep.
>   `allowUnassigned` - true if the node name may contain unassigned code points.
> Returns:
>   the prepped node name.
> Throws:
>   `StringprepException` - If the node name cannot be prepped with this profile.

### resourceprep

    public static String resourceprep(String input)
                throws StringprepException,
                       NullPointerException

> Preps a resource name according to the Stringprep profile defined in RFC3920. Unassigned code points are not allowed.
> Parameters:
>   `input` - the resource name to prep.
> Returns:
>   the prepped node name.
> Throws:
>   `StringprepException` - If the resource name cannot be prepped with this profile.

### resourceprep

    public static String resourceprep(String input,
                                      boolean allowUnassigned)
                throws StringprepException,
                       NullPointerException

> Preps a resource name according to the Stringprep profile defined in RFC3920.
> Parameters:
>   `input` - the resource name to prep.
>   `allowUnassigned` - true if the resource name may contain unassigned code points.
> Returns:
>   the prepped node name.
> Throws:
>   `StringprepException` - If the resource name cannot be prepped with this profile.