Class EventTopicsMetaDataBuilder

java.lang.Object
org.forgerock.audit.events.EventTopicsMetaDataBuilder

public final class EventTopicsMetaDataBuilder extends Object
Builder for EventTopicsMetaData.
  • Method Details

    • coreTopicSchemas

      public static EventTopicsMetaDataBuilder coreTopicSchemas()
      Create a new instance of EventTopicsMetaDataBuilder that will populate EventTopicsMetaData objects its creates with the schema meta-data for core topics.
      Returns:
      a new instance of EventTopicsMetaDataBuilder.
    • withCoreTopicSchemaExtensions

      public EventTopicsMetaDataBuilder withCoreTopicSchemaExtensions(JsonValue coreTopicSchemaExtensions)
      Specifies additional fields that should be added to the schemas for core event topics.

      The extension must not redefine a property already defined in the core event topics.

      Example of a valid extension:

       {
         "access": {
           "schema": {
             "$schema": "http://json-schema.org/draft-04/schema#",
             "id": "/",
             "type": "object",
             "properties": {
               "extraField": {
                 "type": "string"
               }
             }
           }
         }
       }
      
      Parameters:
      coreTopicSchemaExtensions - the extension of the core event topics.
      Returns:
      this builder for method-chaining.
    • withAdditionalTopicSchemas

      public EventTopicsMetaDataBuilder withAdditionalTopicSchemas(JsonValue additionalTopicSchemas)
      Specifies schemas for additional topics.

      Custom schema must always include _id, timestamp, transactionId and eventName fields.

      Example of a valid schema:

      "customTopic": {
        "schema": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "id": "/",
          "type": "object",
          "properties": {
            "_id": {
              "type": "string"
            },
            "timestamp": {
              "type": "string"
            },
            "transactionId": {
              "type": "string"
            },
            "eventName": {
              "type": "string"
            },
            "customField": {
              "type": "string"
            }
          }
        }
      }
      
      Parameters:
      additionalTopicSchemas - the schemas of the additional event topics.
      Returns:
      this builder for method-chaining.
    • build

      public EventTopicsMetaData build()
      Create a new instance of EventTopicsMetaData.
      Returns:
      a new instance of EventTopicsMetaData.