
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultExternalJobSchedulerIntegrationService Maven / Gradle / Ivy
/*
* Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
*/
package com.sap.cloud.sdk.s4hana.datamodel.odata.services;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.JobAbortFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.JobCancelFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.JobScheduleFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.JobStatusGetFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.JobTemplateByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.JobTemplateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.externaljobschedulerintegration.batch.DefaultExternalJobSchedulerIntegrationServiceBatch;
/**
*
* This service enables external job schedulers to connect to the SAP back-end and perform the following operations on
* application jobs: get a list of application job templates, instantiate a job from a job template without parameters
* and with start condition ‘immediate start’, read the status of a job, and cancel or deschedule a job.
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* BC_EXT_APPJOB_MANAGEMENT
*
*
* API Version:
* 2
*
*
* Communication Scenario:
* External Scheduler Integration (SAP_COM_0064)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultExternalJobSchedulerIntegrationService" )
public class DefaultExternalJobSchedulerIntegrationService implements ExternalJobSchedulerIntegrationService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link ExternalJobSchedulerIntegrationService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultExternalJobSchedulerIntegrationService()
{
servicePath = ExternalJobSchedulerIntegrationService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultExternalJobSchedulerIntegrationService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultExternalJobSchedulerIntegrationService withServicePath( @Nonnull final String servicePath )
{
return new DefaultExternalJobSchedulerIntegrationService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultExternalJobSchedulerIntegrationServiceBatch batch()
{
return new DefaultExternalJobSchedulerIntegrationServiceBatch(this);
}
@Override
@Nonnull
public JobTemplateFluentHelper getAllJobTemplate()
{
return new JobTemplateFluentHelper(servicePath);
}
@Override
@Nonnull
public
JobTemplateByKeyFluentHelper
getJobTemplateByKey( final String jobTemplateName, final String jobTemplateVersion )
{
return new JobTemplateByKeyFluentHelper(servicePath, jobTemplateName, jobTemplateVersion);
}
@Override
@Nonnull
public JobScheduleFluentHelper jobSchedule(
final String jobUserID,
final String jobUserName,
final String jobText,
final String jobTemplateName,
final String jobParameterValues,
final Boolean testModeInd,
final String jobUser )
{
return new JobScheduleFluentHelper(
servicePath,
jobUserID,
jobUserName,
jobText,
jobTemplateName,
jobParameterValues,
testModeInd,
jobUser);
}
@Override
@Nonnull
public JobCancelFluentHelper jobCancel( final String jobRunCount, final String jobName )
{
return new JobCancelFluentHelper(servicePath, jobRunCount, jobName);
}
@Override
@Nonnull
public JobAbortFluentHelper jobAbort( final String jobRunCount, final String jobName )
{
return new JobAbortFluentHelper(servicePath, jobRunCount, jobName);
}
@Override
@Nonnull
public JobStatusGetFluentHelper jobStatusGet( final String jobName, final String jobRunCount )
{
return new JobStatusGetFluentHelper(servicePath, jobName, jobRunCount);
}
}