Package com.sas.lsaf.content.repository

## Class RepositoryExecutableFile

- java.lang.Object
- - com.sas.lsaf.core.AbstractIdentifiable
  - - com.sas.lsaf.content.repository.RepositoryItem
    - - com.sas.lsaf.content.repository.RepositoryFile
      - - com.sas.lsaf.content.repository.RepositoryExecutableFile

- All Implemented Interfaces:
    `Identifiable`, `java.io.Serializable`

      public class RepositoryExecutableFile
      extends RepositoryFile

  The class that represents an executable file that is stored in the repository.
  Since:
    2.1
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.sas.lsaf.content.repository.RepositoryFile

      `RepositoryFile.SigningStatus`

    - ### Nested classes/interfaces inherited from class com.sas.lsaf.content.repository.RepositoryItem

      `RepositoryItem.State, RepositoryItem.Syncable`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RepositoryExecutableFile​(java.lang.String typeId, java.lang.String id, java.lang.String name, java.lang.String path, long revision, RepositoryItem.State state, java.lang.String createdBy, java.util.Date created, java.lang.String lastModifiedBy, java.util.Date lastModified, java.lang.String propertiesLastModifiedBy, java.util.Date propertiesLastModified, java.lang.String description, RepositoryItem.Syncable syncable, java.util.List<Attribute> attributes, long size, boolean checkedOut, java.lang.String checkedOutBy, java.util.Date checkedOutDate, boolean versioned, java.lang.String version, java.lang.String comment, boolean locked, RepositoryFile.SigningStatus signingStatus, boolean runAsOwner, VersionLimits versionLimits, java.lang.String digest, java.util.Date lastRunDate, RunHealthStatus healthStatus)` | It is not intended or recommended that the consumer of the API construct these objects.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(java.lang.Object obj)` |
    `RunHealthStatus` | `getHealthStatus()` | If available, indicates whether a job is up-to-date since the last successful run.
    `java.util.Date` | `getLastRunDate()` | If available, gets the date on which the job last successfully ran.
    `int` | `hashCode()` |
    `boolean` | `isRunAsOwner()` | Gets whether the executable file runs as the owner of the file or the user who submitted the file for execution.
    `void` | `setRunAsOwner​(boolean runAsOwner)` | Sets the executable file to run as the owner of the file or the user who submitted the file for execution.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class com.sas.lsaf.content.repository.RepositoryFile

      `getCheckedOutBy, getCheckedOutDate, getComment, getDigest, getMajorLimit, getMinorLimit, getSigningStatus, getSize, getVersion, getVersionLimits, isCheckedOut, isLocked, isVersioned, setVersionLimits`

    - ### Methods inherited from class com.sas.lsaf.content.repository.RepositoryItem

      `getAttributes, getCreated, getCreatedBy, getDescription, getLastModified, getLastModifiedBy, getName, getPath, getPropertiesLastModified, getPropertiesLastModifiedBy, getRevision, getState, getSyncable, setAttributes, setDescription, setSyncable`

    - ### Methods inherited from class com.sas.lsaf.core.AbstractIdentifiable

      `getId, getTypeId`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### RepositoryExecutableFile

          public RepositoryExecutableFile​(java.lang.String typeId,
                                          java.lang.String id,
                                          java.lang.String name,
                                          java.lang.String path,
                                          long revision,
                                          RepositoryItem.State state,
                                          java.lang.String createdBy,
                                          java.util.Date created,
                                          java.lang.String lastModifiedBy,
                                          java.util.Date lastModified,
                                          java.lang.String propertiesLastModifiedBy,
                                          java.util.Date propertiesLastModified,
                                          java.lang.String description,
                                          RepositoryItem.Syncable syncable,
                                          java.util.List<Attribute> attributes,
                                          long size,
                                          boolean checkedOut,
                                          java.lang.String checkedOutBy,
                                          java.util.Date checkedOutDate,
                                          boolean versioned,
                                          java.lang.String version,
                                          java.lang.String comment,
                                          boolean locked,
                                          RepositoryFile.SigningStatus signingStatus,
                                          boolean runAsOwner,
                                          VersionLimits versionLimits,
                                          java.lang.String digest,
                                          java.util.Date lastRunDate,
                                          RunHealthStatus healthStatus)

      It is not intended or recommended that the consumer of the API construct these objects. They should only deal with the repository executable file objects returned by the API.
      Parameters:
        `typeId` - The object type identifier of the repository file.
        `id` - The unique identifier of the repository file.
        `name` - The name of the file.
        `path` - The full path of this file in the repository, which includes the name.
        `revision` - The internally managed revision number of the repository file.
        `state` - The current state of the repository file.
        `createdBy` - The user who created the repository file.
        `created` - The date on which the repository file was created.
        `lastModifiedBy` - The user who last modified the repository file's content.
        `lastModified` - The date on which the repository file's content was last modified.
        `propertiesLastModifiedBy` - The user who last modified the repository file's properties.
        `propertiesLastModified` - The date on which the repository file's properties were last modified.
        `description` - The description of the file.
        `syncable` - Indicates whether the file can be copied to the user's workspace.
        `attributes` - The extended attributes that are defined on the repository file.
        `size` - The size (in bytes) of the file.
        `checkedOut` - Indicates whether the file is currently checked out or not.
        `checkedOutBy` - The user who has the file checked out (if it is checked out).
        `checkedOutDate` - The date on which the file was checked out (if it is checked out).
        `versioned` - Indicates whether the file is versioned.
        `version` - The current version of the file (if it is versioned).
        `comment` - The comment provided when the content was created.
        `locked` - Indicates whether the file is locked.
        `signingStatus` - The signature status of the file.
        `runAsOwner` - Indicates whether the executable file is run as the owner of the file or the user who submitted the file for execution.
        `versionLimits` - The version retention limits of the file.
        `digest` - The digest value of the file.
        `lastRunDate` - If available, the date on which the job last successfully ran.
        `healthStatus` - If available, indicates whether a job is up-to-date since the last successful run.

  - ### Method Detail

    - #### isRunAsOwner

          public boolean isRunAsOwner()

      Gets whether the executable file runs as the owner of the file or the user who submitted the file for execution.
      Returns:
        The indication that the executable file runs as the owner of the file or the user who submitted the file for execution.

    - #### setRunAsOwner

          public void setRunAsOwner​(boolean runAsOwner)

      Sets the executable file to run as the owner of the file or the user who submitted the file for execution.
      Parameters:
        `runAsOwner` - Whether executable file is to run as the owner of the file or the user who submitted the file for execution.

    - #### getLastRunDate

          public java.util.Date getLastRunDate()

      If available, gets the date on which the job last successfully ran. Note: If job health status is not enabled on the system, the last run date is not set, and the run health status is set to unknown. Please contact your system administrator to enable this feature.
      Returns:
        The date on which the job last successfully ran.

    - #### getHealthStatus

          public RunHealthStatus getHealthStatus()

      If available, indicates whether a job is up-to-date since the last successful run. The health status is stale if any of the related job files have changed since the last successful run. Note: This attribute is updated only if the job contains only SAS programs and the job health status feature is enabled on the system. Otherwise, the status is unknown. Please contact your system administrator to enable this feature.
      Returns:
        The job run health status.

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `RepositoryFile`

    - #### equals

          public boolean equals​(java.lang.Object obj)

      Overrides:
        `equals` in class `RepositoryFile`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `RepositoryFile`