Interface ProductProvidedPropertyExtractor


public interface ProductProvidedPropertyExtractor
Extractor which allows a product to define how properties are provided to this analytics module

This interface defines commonly used methods from com.atlassian.analytics.client.extractor.PropertyExtractor which require product specific implementations. Allowing the product to define how information is extracted from an event within its own repository and exporting it via OSGi.

  • Method Details

    • extractProperty

      @Nullable default Map<String,Object> extractProperty(@Nonnull String name, @Nonnull Object value)
      Extract properties
      Returns:
      a mapping of all valid properties on the value, prefixed with name + '.' or null if the calling class should handle the extraction
    • extractUser

      @Nullable default String extractUser(@Nonnull Object event, @Nonnull Map<String,Object> properties)
      Extract the user from the event
      Returns:
      the user to be associated with this event or null if the calling class should handle the extraction
    • getApplicationAccess

      @Nullable default String getApplicationAccess()
      Get the application access for the logged in user associated with this event. For un-logged in user, empty string "" should be returned
      Returns:
      comma separated string representing application access or null if the calling class should handle the extraction
    • enrichProperties

      @Nullable default Map<String,Object> enrichProperties(@Nonnull Object event)
      Enrich properties
      Returns:
      a map of properties to be added to the event or null if the calling class should handle the extraction
    • extractName

      @Nullable default String extractName(@Nonnull Object event)
      Extract the name of this event from the event object
      Returns:
      the name of this event or null if the calling class should handle the extraction