Interface SchedulerEntity

    • Field Detail

      • BEHAVIOR_NONE

        static final Long BEHAVIOR_NONE
        Object has no specific behavior.
      • BEHAVIOR_SYSTEM

        static final Long BEHAVIOR_SYSTEM
        Object is a system object and must be protected from modification or deletion.
      • BEHAVIOR_DEPRECATED

        static final Long BEHAVIOR_DEPRECATED
        Object is has been deprecated and can be considered deleted (but cannot be for technical reasons).
      • ACTION_READ

        static final String ACTION_READ
        Name of the pseudo-action used to read objects. Describing an object involves reading it. Any object for which this returns true can be described.
        See Also:
        Constant Field Values
      • ACTION_EXPORT

        static final String ACTION_EXPORT
        Name of the pseudo-action used to export objects. Any object for which this returns true can be exported.
        See Also:
        Constant Field Values
      • ACTION_AUDIT

        static final String ACTION_AUDIT
        Name of the pseudo-action used to audit objects. Any object for which this returns true can be audited.
        See Also:
        Constant Field Values
    • Method Detail

      • getLLPVersion

        Long getLLPVersion()
        Get the value for LLPVersion. (LowLevelPersistence version number that gets set to the current transaction number after the commit.) This value is mandatory, and therefore will not be null if this object has been retrieved from the database.
        Returns:
        the field
        Throws:
        com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException - This will be thrown if this method is called while the object is not attached to a session.
      • getSubjectObjectPrivilegeGrants

        RWIterable<SubjectObjectPrivilegeGrant> getSubjectObjectPrivilegeGrants()
        Get the value for SubjectObjectPrivilegeGrant. (Object-specific privilege grants for this object.)
        Specified by:
        getSubjectObjectPrivilegeGrants in interface SchedulerEntityComp
        Returns:
        the field
        Throws:
        com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException - This will be thrown if this method is called while the object is not attached to a session.
      • getUniqueId

        Long getUniqueId()
        Get the value for UniqueId. (A globally unique identifier for this object) This value is mandatory, and therefore will not be null if this object has been retrieved from the database.
        Returns:
        the field
        Throws:
        com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException - This will be thrown if this method is called while the object is not attached to a session.
      • getBehavior

        Long getBehavior()
        Get the value for Behavior. (Describes the behavior for this object. The defined behavior is ObjectType specific. All objects will implement the following behaviors:
        • 0 - Object has no specific behavior.
        • 1 - Object is a system object and must be protected from modification or deletion.
        ) This value is mandatory, and therefore will not be null if this object has been retrieved from the database.
        Returns:
        the field
        Throws:
        com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException - This will be thrown if this method is called while the object is not attached to a session.
      • isDeletable

        boolean isDeletable()
        Get the value for Deletable. (Returns whether or not this object is able to be deleted.)
        Returns:
        the field
        Throws:
        com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException - This will be thrown if this method is called while the object is not attached to a session.
      • isModifiable

        boolean isModifiable()
        Get the value for Modifiable. (Returns whether or not this object is able to be modified.)
        Returns:
        the field
        Throws:
        com.redwood.scheduler.api.exception.ObjectNotAttachedToSessionException - This will be thrown if this method is called while the object is not attached to a session.
      • createSubjectObjectPrivilegeGrant

        SubjectObjectPrivilegeGrant createSubjectObjectPrivilegeGrant()
        Grant a set of privileges for this object.
        Returns:
        A new set of privileges (initially empty) granted for this object.
      • getEffectiveBehavior

        Long getEffectiveBehavior()
        Describes the behavior for this object. The defined behavior is ObjectType specific. All objects will implement the following behaviors:
        • 0 - Object has no specific behavior.
        • 1 - Object is a system object and must be protected from modification or deletion.
        Returns:
        The behavior code for this object.
      • getErrorNameEN

        String getErrorNameEN()
        Get the name of this object, for use in error messages. This may be called on an invalid object. The return value from this method will always be an English string, however it can always be generated without any access to the database.
        Returns:
        The name of the object, in English
      • getErrorNameKey

        String getErrorNameKey()
        Get the name of this object, for use in error messages. This may be called on an invalid object. The return value from this method will be a key that can be passed directly to SchedulerSession.translateField(String). The key can always be generated, however to convert that key to a language you need to have a working database connection.
        Returns:
        The name of the object, in English
      • getLOVSupport

        LOVSupport getLOVSupport​(String fieldName)
        Enquire about LOV support for a field on this object.
        Parameters:
        fieldName - The name of the field to enquire about.
        Returns:
        Information about LOV support for the specified field.
      • getLOV

        LOVCollection getLOV​(String fieldName,
                             String query,
                             Long startAt,
                             Long maxSize)
        Enquire about LOV support for a field on this object.
        Parameters:
        fieldName - The name of the field to enquire about.
        query - The value to use to restrict the returned results.
        startAt - The offset into the list at which to start returning values.
        maxSize - The maximum number of entries to return.
        Returns:
        Information about LOV support for the specified field.
      • getObjectType

        String getObjectType()
        Get the typename for this object.
        Returns:
        The typename of the object.
      • getUrl

        String getUrl​(PermaLinkPurpose purpose)
               throws com.redwood.scheduler.api.exception.UnsupportedPermaLinkException
        Get a perma link URL for this object.
        Parameters:
        purpose - For what purpose should the page be, which will be opened by the link.
        Returns:
        The URL which can be used to show the object for a specific purpose.
        Throws:
        com.redwood.scheduler.api.exception.UnsupportedPermaLinkException - The URL for the requested purpose is not supported.
      • getUrl

        String getUrl​(PermaLinkPurpose purpose,
                      ShowPopUp displayPopup)
               throws com.redwood.scheduler.api.exception.UnsupportedPermaLinkException
        Get a perma link URL for this object.
        Parameters:
        purpose - For what purpose should the page be, which will be opened by the link.
        displayPopup - Should we show a pop up box for acknowledge
        Returns:
        The URL which can be used to show the object for a specific purpose.
        Throws:
        com.redwood.scheduler.api.exception.UnsupportedPermaLinkException - The URL for the requested purpose is not supported.
      • getSubjectObjectPrivilegeGrantBySubject

        SubjectObjectPrivilegeGrant getSubjectObjectPrivilegeGrantBySubject​(Subject granteeSubject)
        Get the set of privileges, if specified, that a subject has on this object.
        Parameters:
        granteeSubject - Subject whose privileges are sought.
        Returns:
        The set of privileges granted to the given Subject, if this has been specified.
      • isCreated

        boolean isCreated()
        Has this object been created, and not yet persisted? If this returns true then isDeleted(), isModified() and isSelectVersioned() will all return false.
        Returns:
        true if this object is to be created, false otherwise.
      • isDeleted

        boolean isDeleted()
        Has this object been scheduled for deletion? If this returns true then isCreated(), isModified() and isSelectVersioned() will all return false.
        Returns:
        true if this object is to be deleted, false otherwise.
      • isModified

        boolean isModified()
        Is this an existing database object that been modified but not yet persisted? If this returns true then isCreated(), isDeleted() and isSelectVersioned() will all return false.
        Returns:
        true if this object has been modified, false otherwise.
      • isSelectVersioned

        boolean isSelectVersioned()
        Does the same version of this unmodified object need to exist in the database for this session to persist successfully? If this returns true then isCreated(), isDeleted() and isModified() will all return false.
        Returns:
        true if the same version of this object must exist, false otherwise.
      • canPerform

        boolean canPerform​(String methodName)
        Query the object to check if the method name passed in is allowed for the current user.
        Parameters:
        methodName - The name of the method that the user wants to perform..
        Returns:
        • false when the user is definitely not allowed to perform the method,
        • true when it could not be determined that the user cannot perform the method.
        This means that when the method returns true, it is not guaranteed that the actual perform of the method could still throw an exception.
      • refreshObject

        void refreshObject()
                    throws com.redwood.scheduler.api.exception.SchedulerAPIPersistenceException
        If this object is in a read-only state, then refresh the data from the database.
        Throws:
        com.redwood.scheduler.api.exception.SchedulerAPIPersistenceException - Unable to persist.
      • resetObject

        void resetObject()
        Reset the object. This will reset the object to its original database state. (Note that the original database state is not the same as the current database state.) This will affect the collections of other objects that include this object, but it will not undo the effects of any recursive deletes. This operation is unlikely to be what you want or need to use; it is only intended for internal use by the API implementation.
      • resetObject

        void resetObject​(boolean resetParts)
        Reset the object. This will reset the object and optionally all of its aggregate parts to its original database state. (Note that the original database state is not the same as the current database state.) This operation is unlikely to be what you want or need to use; it is only intended for internal use by the API implementation.
        Parameters:
        resetParts - Call resetObject recursively for all parts.
      • selectForRead

        void selectForRead()
        Perform a versioned select on the object during persist, to guarantee that this version exists in the database.
      • resetValuesToDefault

        void resetValuesToDefault()
        Reset the object to the state that it was in when it was created. Calling this method will reset all attributes and relations on this class to their default values. For the purposes of this method, an attribute or relation on this class is any attribute or relation that you can modify using a set operation. Any objects that are created from this class using a create method will not be modified. The only value that will not be the same as when the object was created will be getLLPVersion(), as this must retain its current value, otherwise the persist will fail.
      • processRelatedObjects

        void processRelatedObjects​(APIResultSetCallback callback)
        !!!! PROTOTYPE IMPLEMENTATION !!!! The callback is called for every object that has a foreign key to this object.
        Parameters:
        callback - The object to call back for every related object
      • processRelatedObjects

        void processRelatedObjects​(APIResultSetCallback callback,
                                   Collection<String> include)
        !!!! PROTOTYPE IMPLEMENTATION !!!! The callback is called for every object that has a foreign key to this object.
        Parameters:
        callback - The object to call back for every related object
        include - Collection of strings that consist of "ForeignKeyName" of the items to include. If null is being passed in, it will check the showInRelatedObjects field on the objectchecker
      • processRelatedObjects

        void processRelatedObjects​(APIResultSetCallback callback,
                                   Collection<String> include,
                                   boolean exportableObjectsOnly)
        !!!! PROTOTYPE IMPLEMENTATION !!!! The callback is called for every object that has a foreign key to this object.
        Parameters:
        callback - The object to call back for every related object
        include - Collection of strings that consist of "ForeignKeyName" of the items to include. If null is being passed in, it will check the showInRelatedObjects field on the objectchecker
        exportableObjectsOnly - Should only those objects be included that are exportable.
      • getRuntime

        RuntimeObject getRuntime()
        Get the API for information for this object.
        Returns:
        The object runtime API.
      • getAuditTrailSize

        Long getAuditTrailSize()
        Get the number of AuditObjects for this SchedulerEntity
        Returns:
        The Audit Trail size for this object.
      • deleteObject

        void deleteObject()
        Marks this object for deletion. Once an object has been marked for deletion, no further updates are possible to the object.