org.lastaflute.job.subsidiary.ReadableJobAttr Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lasta-job Show documentation
Show all versions of lasta-job Show documentation
Job Scheduling for LastaFlute
/*
* Copyright 2015-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.lastaflute.job.subsidiary;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.dbflute.optional.OptionalThing;
import org.lastaflute.job.LaJob;
import org.lastaflute.job.key.LaJobKey;
import org.lastaflute.job.key.LaJobNote;
import org.lastaflute.job.key.LaJobUnique;
import org.lastaflute.job.log.JobNoticeLogLevel;
/**
* @author jflute
* @since 0.4.1 (2017/03/20 Monday)
*/
public interface ReadableJobAttr extends JobIdentityAttr { // for internal assist
// ===================================================================================
// Basic Info
// ==========
/**
* @return The job key auto-generated by framework when schedule registration. (NotNull)
*/
LaJobKey getJobKey();
/**
* @return The optional note (title, description) of the job. (NotNull, EmptyAllowed: if both is no value)
*/
OptionalThing getJobNote();
/**
* @return The optional job unique code provided by application when schedule registration. (NotNull, EmptyAllowed)
*/
OptionalThing getJobUnique();
/**
* @return The optional cron expression of the job e.g. '10 * * * *' (NotNull, EmptyAllowed: if non-cron)
*/
OptionalThing getCronExp();
/**
* @return The type of job component for your application. (NotNull)
*/
Class extends LaJob> getJobType();
/**
* @return The optional supplier of cron parameters. (NotNull, EmptyAllowed: if no parameter)
*/
OptionalThing getParamsSupplier();
/**
* @return The level of notice log. (NotNull)
*/
JobNoticeLogLevel getNoticeLogLevel();
/**
* @return The execution type of concurrent. (NotNull)
*/
JobConcurrentExec getConcurrentExec();
// ===================================================================================
// Next Trigger
// ============
/**
* Get the set of triggered job key.
* @return The read-only set of job key for triggered job. (NotNull)
*/
Set getTriggeredJobKeySet();
// ===================================================================================
// Neighbor Concurrent
// ===================
/**
* Get the list of group for neighbor concurrent.
* @return The read-only list of neighbor concurrent group. (NotNull)
*/
List getNeighborConcurrentGroupList();
/**
* Get the map of group for neighbor concurrent.
* @return The read-only map of neighbor concurrent group, key is group name. (NotNull)
*/
Map getNeighborConcurrentGroupMap();
// ===================================================================================
// Display
// =======
/**
* @return The display string for identity. (NotNull)
*/
String toIdentityDisp();
}