Interface Application

All Superinterfaces:
Attributes, Serializable
All Known Implementing Classes:
ApplicationImpl, ImmutableApplication

public interface Application extends Serializable, Attributes
An Application in Crowd. This is the top level citizen in Crowd, where an application will have an ordered set of associated Directory's which it can access.
  • Method Details

    • getId

      Long getId()
      Returns the application ID.
      Returns:
      application ID
    • getName

      String getName()
      Returns the name of the application.
      Returns:
      name of the application
    • getType

      ApplicationType getType()
      Returns the type of the application.
      Returns:
      application type
    • getDescription

      String getDescription()
      Returns the description of the application.
      Returns:
      description of the application
    • getCredential

      PasswordCredential getCredential()
      Returns the application password.
      Returns:
      application password
    • isPermanent

      boolean isPermanent()
      Returns whether the application is a permanent application and thus cannot be removed. For instance, the Crowd application is a permanent application.
      Returns:
      true if the application is permanent.
    • isActive

      boolean isActive()
      Returns whether the application is active.
      Returns:
      true if the application is active.
    • getAttributes

      Map<String,String> getAttributes()
      Returns the attributes of the application.
      Returns:
      attributes of the application
    • getDirectoryMappings

      @Deprecated List<DirectoryMapping> getDirectoryMappings()
      Deprecated.
      Use getApplicationDirectoryMappings() instead. Since 2.12.
      Returns the list of directory mappings ranked by directory priority as in perspective of the application.
      Returns:
      List of directory mappings (never null).
    • getApplicationDirectoryMappings

      @Nonnull List<ApplicationDirectoryMapping> getApplicationDirectoryMappings()
      Returns the list of directory mappings ranked by directory priority as in perspective of the application.
      Returns:
      List of directory mappings (never null).
      Since:
      2.12
    • getDirectoryMapping

      @Deprecated DirectoryMapping getDirectoryMapping(long directoryId)
      Deprecated.
      Use getApplicationDirectoryMapping(long) instead. Since 2.12.
      Returns a directory mapping of the directory specified by directory id.
      Parameters:
      directoryId - ID of the directory
      Returns:
      directory mapping if found, null if the directory mapping could not be found
    • getApplicationDirectoryMapping

      @Nullable ApplicationDirectoryMapping getApplicationDirectoryMapping(long directoryId)
      Returns a directory mapping of the directory specified by directory id.
      Parameters:
      directoryId - ID of the directory
      Returns:
      directory mapping if found, null if the directory mapping could not be found
      Since:
      2.12
    • getRemoteAddresses

      Set<RemoteAddress> getRemoteAddresses()
      Returns the whitelist of addresses allowed to connect to Crowd as the application. The remote addresses may contain subnet masking information in CIDR format.
      Returns:
      whitelist of addresses allowed to connect to Crowd as the application.
    • hasRemoteAddress

      boolean hasRemoteAddress(String remoteAddress)
      Returns true if the remote address is already in the list of allowable remote addresses for the application.
      Parameters:
      remoteAddress - RemoteAddress whose presence is to be tested
      Returns:
      true if the remote address is already in the list of allowable remote addresses for the application
    • getWebhooks

      Set<Webhook> getWebhooks()
      Returns the Webhooks associated to the application. Webhooks were added in Crowd 2.7. For applications that are not Crowd servers, it is OK to always return an empty Set.
      Returns:
      Webhooks associated to the application.
      Since:
      2.7
    • isFilteringUsersWithAccessEnabled

      @ExperimentalApi boolean isFilteringUsersWithAccessEnabled()
      Returns:
      true if user queries should return only users with access.
    • isFilteringGroupsWithAccessEnabled

      @ExperimentalApi boolean isFilteringGroupsWithAccessEnabled()
      Returns:
      true if group queries should return only groups with access.
    • isLowerCaseOutput

      boolean isLowerCaseOutput()
      Returns true if the usernames and group names returned should be in lowercase.
      Returns:
      true if the usernames and group names returned
    • isAliasingEnabled

      boolean isAliasingEnabled()
      Returns true if aliasing is enabled for the application.
      Returns:
      true if aliasing is enabled for the application
    • isMembershipAggregationEnabled

      boolean isMembershipAggregationEnabled()
      Returns:
      true if membership aggregation is enabled for this application.
    • isCachedDirectoriesAuthenticationOrderOptimisationEnabled

      boolean isCachedDirectoriesAuthenticationOrderOptimisationEnabled()
      Returns:
      true if authentication order optimization for cached directories is enabled for this application.
    • isAuthenticationWithoutPasswordEnabled

      boolean isAuthenticationWithoutPasswordEnabled()
      Returns true if application has authentication without user's password enabled, false otherwise.

      Authentication without user's password is used i.e. for remember me functionality in Atlassian products. If a user session is expired but remember-me cookie is still valid, product will request Crowd to generate a new Crowd SSO token without passing user's password to Crowd.

      As possibility to authenticate user without knowing their password is considered insecure, this option is disabled by default and it should be enabled only for trusted apps.

      Returns:
      true if application has authentication without user's password enabled, false otherwise.
    • isAuthenticationViaEmailEnabled

      boolean isAuthenticationViaEmailEnabled()
      Determines whether application can authenticate their users using their e-mail.
      Returns:
      true if application has authentication via email enabled, false otherwise.
    • getCreatedDate

      Date getCreatedDate()
      Returns the date the application was created.
      Returns:
      date the application was created
    • getUpdatedDate

      Date getUpdatedDate()
      Returns the date the application was last updated. If the application has just been created, the updated date will be the same as the creation date.
      Returns:
      date the application was last updated