RoleSyntax (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.x509

## Class RoleSyntax

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x509.RoleSyntax

- All Implemented Interfaces:
    ASN1Encodable, Encodable

      public class RoleSyntax
      extends ASN1Object

  Implementation of the RoleSyntax object as specified by the RFC3281.

       RoleSyntax ::= SEQUENCE {
                       roleAuthority  [0] GeneralNames OPTIONAL,
                       roleName       [1] GeneralName
                 }

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RoleSyntax(GeneralName roleName)` Constructor.
    `RoleSyntax(GeneralNames roleAuthority, GeneralName roleName)` Constructor.
    `RoleSyntax(java.lang.String roleName)` Utility constructor.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static RoleSyntax` | `getInstance(java.lang.Object obj)` RoleSyntax factory method.
    `GeneralNames` | `getRoleAuthority()` Gets the role authority of this RoleSyntax.
    `java.lang.String[]` | `getRoleAuthorityAsString()` Gets the role authority as a `String[]` object.
    `GeneralName` | `getRoleName()` Gets the role name of this RoleSyntax.
    `java.lang.String` | `getRoleNameAsString()` Gets the role name as a `java.lang.String` object.
    `ASN1Primitive` | `toASN1Primitive()` Implementation of the method `toASN1Object` as required by the superclass `ASN1Encodable`.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

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

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

- - ### Constructor Detail

    - #### RoleSyntax

          public RoleSyntax(GeneralNames roleAuthority,
                            GeneralName roleName)

      Constructor.
      Parameters:
        `roleAuthority` - the role authority of this RoleSyntax.
        `roleName` - the role name of this RoleSyntax.

    - #### RoleSyntax

          public RoleSyntax(GeneralName roleName)

      Constructor. Invoking this constructor is the same as invoking `new RoleSyntax(null, roleName)`.
      Parameters:
        `roleName` - the role name of this RoleSyntax.

    - #### RoleSyntax

          public RoleSyntax(java.lang.String roleName)

      Utility constructor. Takes a `String` argument representing the role name, builds a `GeneralName` to hold the role name and calls the constructor that takes a `GeneralName`.
      Parameters:
        `roleName` -

  - ### Method Detail

    - #### getInstance

          public static RoleSyntax getInstance(java.lang.Object obj)

      RoleSyntax factory method.
      Parameters:
        `obj` - the object used to construct an instance of `RoleSyntax`. It must be an instance of `RoleSyntax` or `ASN1Sequence`.
      Returns:
        the instance of `RoleSyntax` built from the supplied object.
      Throws:
        `java.lang.IllegalArgumentException` - if the object passed to the factory is not an instance of `RoleSyntax` or `ASN1Sequence`.

    - #### getRoleAuthority

          public GeneralNames getRoleAuthority()

      Gets the role authority of this RoleSyntax.
      Returns:
        an instance of `GeneralNames` holding the role authority of this RoleSyntax.

    - #### getRoleName

          public GeneralName getRoleName()

      Gets the role name of this RoleSyntax.
      Returns:
        an instance of `GeneralName` holding the role name of this RoleSyntax.

    - #### getRoleNameAsString

          public java.lang.String getRoleNameAsString()

      Gets the role name as a `java.lang.String` object.
      Returns:
        the role name of this RoleSyntax represented as a `java.lang.String` object.

    - #### getRoleAuthorityAsString

          public java.lang.String[] getRoleAuthorityAsString()

      Gets the role authority as a `String[]` object.
      Returns:
        the role authority of this RoleSyntax represented as a `String[]` array.

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Implementation of the method `toASN1Object` as required by the superclass `ASN1Encodable`.

           RoleSyntax ::= SEQUENCE {
                           roleAuthority  [0] GeneralNames OPTIONAL,
                           roleName       [1] GeneralName
                     }

      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a primitive representation of this object.

    - #### toString

          public java.lang.String toString()

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