Class EssApplicationImpl

java.lang.Object
com.appliedolap.essbase.AbstractEssObject
com.appliedolap.essbase.impl.EssApplicationImpl
All Implemented Interfaces:
EssApplication, EssObject

public class EssApplicationImpl extends AbstractEssObject implements EssApplication
Represents an Essbase application object. An application is a container for one or more EssCubeImpl cubes.
  • Constructor Details

    • EssApplicationImpl

      public EssApplicationImpl(ApiContext api, EssServer server, com.appliedolap.essbase.client.model.Application application)
  • Method Details

    • getName

      public String getName()
      Description copied from interface: EssObject
      Gets the name of this object. This will generally be the "nice" and "unique" name of this object, such as the application name, cube, member, variable, or whatever.
      Specified by:
      getName in interface EssObject
      Returns:
      the simple name of this object
    • getType

      public EssObject.Type getType()
      Description copied from interface: EssObject
      Gets the type of this object.
      Specified by:
      getType in interface EssObject
      Returns:
      the object type
    • getServer

      public EssServer getServer()
      Description copied from interface: EssApplication
      Get the server that contains this application.
      Specified by:
      getServer in interface EssApplication
      Returns:
      the parent server for the application
    • getCreated

      public Instant getCreated()
      Description copied from interface: EssApplication
      Gets the created time for this application.
      Specified by:
      getCreated in interface EssApplication
      Returns:
      when the application was created
    • getModified

      public Instant getModified()
      Description copied from interface: EssApplication
      Gets the modified time for this application.
      Specified by:
      getModified in interface EssApplication
      Returns:
      the modified time for this application
    • getCubes

      public List<EssCube> getCubes()
      Description copied from interface: EssApplication
      Gets the list of cubes in this application.
      Specified by:
      getCubes in interface EssApplication
      Returns:
      the list of cubes for this application, or an empty list if there are none
    • getCube

      public EssCube getCube(String cubeName)
      Description copied from interface: EssApplication
      Gets a cube with the given name.
      Specified by:
      getCube in interface EssApplication
      Parameters:
      cubeName - the name of the cube
      Returns:
      the cube
    • getApi

      public ApiContext getApi()
    • copy

      public void copy(String copyName)
      Description copied from interface: EssApplication
      Copies this application to a new application with the given name.
      Specified by:
      copy in interface EssApplication
      Parameters:
      copyName - the name of the copy
    • delete

      public void delete()
      Description copied from interface: EssApplication
      Deletes this application.
      Specified by:
      delete in interface EssApplication
    • rename

      public void rename(String newName)
      Description copied from interface: EssApplication
      Renames this application.
      Specified by:
      rename in interface EssApplication
      Parameters:
      newName - the new name for the application
    • getConfigurations

      public List<EssApplicationConfiguration> getConfigurations()
      Description copied from interface: EssApplication
      Gets the list of configuration for this application.
      Specified by:
      getConfigurations in interface EssApplication
      Returns:
      the configurations
    • getJobs

      public List<EssJob> getJobs()
      Description copied from interface: EssApplication
      Get the list of jobs associated with this application. In the Essbase REST API there is no specific endpoint for jobs related to an application, but the general jobs service can take an application name to filter on. So this implementation serves as a convenience method to get the jobs specific to this application.
      Specified by:
      getJobs in interface EssApplication
      Returns:
      list of jobs for this application, empty list if none
    • getVariables

      public List<EssApplicationVariable> getVariables()
      Description copied from interface: EssApplication
      Gets the list of variables specific to this application
      Specified by:
      getVariables in interface EssApplication
      Returns:
      the application variables
    • getStatus

      public EssApplication.Status getStatus()
      Description copied from interface: EssApplication
      Gets the status of this application. Known statuses are simply STOPPED and STARTED; other statuses, if they exist, are not known at this time and will simply get converted to UNKNOWN.

      Note that this status represents the status when this object was instantiated. In other words, if the status of the app changes during the lifetime of this object, it won't be refreshed automatically.

      Specified by:
      getStatus in interface EssApplication
      Returns:
      the status of this application
    • stop

      public void stop()
      Description copied from interface: EssApplication
      Stops the application.
      Specified by:
      stop in interface EssApplication
    • start

      public void start()
      Description copied from interface: EssApplication
      Starts the application
      Specified by:
      start in interface EssApplication
    • downloadLatestLog

      public void downloadLatestLog(OutputStream outputStream)
      Description copied from interface: EssApplication
      Writes the latest application log to the given output stream.
      Specified by:
      downloadLatestLog in interface EssApplication
      Parameters:
      outputStream - the output stream
    • downloadAllLogsAsZip

      public void downloadAllLogsAsZip(OutputStream outputStream)
      Description copied from interface: EssApplication
      Writes all logs to the given output stream.
      Specified by:
      downloadAllLogsAsZip in interface EssApplication
      Parameters:
      outputStream - the output stream