Class StructurizrClient

java.lang.Object
com.structurizr.api.StructurizrClient

public final class StructurizrClient
extends java.lang.Object
A client for the Structurizr API (https://api.structurizr.com) that allows you to get and put Structurizr workspaces in a JSON format.
  • Constructor Summary

    Constructors 
    Constructor Description
    StructurizrClient()
    Creates a new Structurizr client based upon configuration in a structurizr.properties file on the classpath with the following name-value pairs: - structurizr.api.url - structurizr.api.key - structurizr.api.secret
    StructurizrClient​(java.lang.String apiKey, java.lang.String apiSecret)
    Creates a new Structurizr API client with the specified API key and secret, for the default API URL (https://api.structurizr.com).
    StructurizrClient​(java.lang.String url, java.lang.String apiKey, java.lang.String apiSecret)
    Creates a new Structurizr client with the specified API URL, key and secret.
  • Method Summary

    Modifier and Type Method Description
    java.lang.String getUrl()
    Gets the API URL that this client is for.
    com.structurizr.Workspace getWorkspace​(long workspaceId)
    Gets the workspace with the given ID.
    java.io.File getWorkspaceArchiveLocation()
    Gets the location where a copy of the workspace is archived when it is retrieved from the server.
    boolean lockWorkspace​(long workspaceId)
    Locks the workspace with the given ID.
    void putWorkspace​(long workspaceId, com.structurizr.Workspace workspace)
    Updates the given workspace.
    void setEncryptionStrategy​(EncryptionStrategy encryptionStrategy)
    Sets the encryption strategy for use when getting or putting workspaces.
    void setMergeFromRemote​(boolean mergeFromRemote)
    Specifies whether the layout of diagrams from a remote workspace should be retained when putting a new version of the workspace.
    void setWorkspaceArchiveLocation​(java.io.File workspaceArchiveLocation)
    Sets the location where a copy of the workspace will be archived whenever it is retrieved from the server.
    boolean unlockWorkspace​(long workspaceId)
    Unlocks the workspace with the given ID.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • StructurizrClient

      public StructurizrClient() throws StructurizrClientException
      Creates a new Structurizr client based upon configuration in a structurizr.properties file on the classpath with the following name-value pairs: - structurizr.api.url - structurizr.api.key - structurizr.api.secret
      Throws:
      StructurizrClientException - if something goes wrong
    • StructurizrClient

      public StructurizrClient​(java.lang.String apiKey, java.lang.String apiSecret)
      Creates a new Structurizr API client with the specified API key and secret, for the default API URL (https://api.structurizr.com).
      Parameters:
      apiKey - the API key of your workspace
      apiSecret - the API secret of your workspace
    • StructurizrClient

      public StructurizrClient​(java.lang.String url, java.lang.String apiKey, java.lang.String apiSecret)
      Creates a new Structurizr client with the specified API URL, key and secret.
      Parameters:
      url - the URL of your Structurizr instance
      apiKey - the API key of your workspace
      apiSecret - the API secret of your workspace
  • Method Details

    • getUrl

      public java.lang.String getUrl()
      Gets the API URL that this client is for.
      Returns:
      the API URL, as a String
    • getWorkspaceArchiveLocation

      public java.io.File getWorkspaceArchiveLocation()
      Gets the location where a copy of the workspace is archived when it is retrieved from the server.
      Returns:
      a File instance representing a directory, or null if this client instance is not archiving
    • setWorkspaceArchiveLocation

      public void setWorkspaceArchiveLocation​(java.io.File workspaceArchiveLocation)
      Sets the location where a copy of the workspace will be archived whenever it is retrieved from the server. Set this to null if you don't want archiving.
      Parameters:
      workspaceArchiveLocation - a File instance representing a directory, or null if you don't want archiving
    • setEncryptionStrategy

      public void setEncryptionStrategy​(EncryptionStrategy encryptionStrategy)
      Sets the encryption strategy for use when getting or putting workspaces.
      Parameters:
      encryptionStrategy - an EncryptionStrategy implementation
    • setMergeFromRemote

      public void setMergeFromRemote​(boolean mergeFromRemote)
      Specifies whether the layout of diagrams from a remote workspace should be retained when putting a new version of the workspace.
      Parameters:
      mergeFromRemote - true if layout information should be merged from the remote workspace, false otherwise
    • lockWorkspace

      public boolean lockWorkspace​(long workspaceId) throws StructurizrClientException
      Locks the workspace with the given ID.
      Parameters:
      workspaceId - the ID of your workspace
      Returns:
      true if the workspace could be locked, false otherwise
      Throws:
      StructurizrClientException - if there are problems related to the network, authorization, etc
    • unlockWorkspace

      public boolean unlockWorkspace​(long workspaceId) throws StructurizrClientException
      Unlocks the workspace with the given ID.
      Parameters:
      workspaceId - the ID of your workspace
      Returns:
      true if the workspace could be unlocked, false otherwise
      Throws:
      StructurizrClientException - if there are problems related to the network, authorization, etc
    • getWorkspace

      public com.structurizr.Workspace getWorkspace​(long workspaceId) throws StructurizrClientException
      Gets the workspace with the given ID.
      Parameters:
      workspaceId - the workspace ID
      Returns:
      a Workspace instance
      Throws:
      StructurizrClientException - if there are problems related to the network, authorization, JSON deserialization, etc
    • putWorkspace

      public void putWorkspace​(long workspaceId, com.structurizr.Workspace workspace) throws StructurizrClientException
      Updates the given workspace.
      Parameters:
      workspaceId - the workspace ID
      workspace - the workspace instance to update
      Throws:
      StructurizrClientException - if there are problems related to the network, authorization, JSON serialization, etc