
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultContractAccountingSEPAMandateService 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 java.time.LocalDateTime;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandate;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateUsage;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateUsageByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateUsageCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.SEPAMandateUsageFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.contractaccountingsepamandate.batch.DefaultContractAccountingSEPAMandateServiceBatch;
/**
*
* This service enables you to create, read and update SEPA Mandates for application Contract Accounts Receivable and
* Payable. The Usage of SEPA Mandates may be read or created as well.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_O2C_FICA_SEPA_MANDATE_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Finance - Contract Accounting SEPA Mandate Integration (SAP_COM_0458)
*
*
* Scope Items:
* Contract Accounting - Master Data and Basic Functions
* (2AR)
*
*
* Authentication Methods:
* Basic, x509
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultContractAccountingSEPAMandateService" )
public class DefaultContractAccountingSEPAMandateService implements ContractAccountingSEPAMandateService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link ContractAccountingSEPAMandateService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultContractAccountingSEPAMandateService()
{
servicePath = ContractAccountingSEPAMandateService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultContractAccountingSEPAMandateService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultContractAccountingSEPAMandateService withServicePath( @Nonnull final String servicePath )
{
return new DefaultContractAccountingSEPAMandateService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultContractAccountingSEPAMandateServiceBatch batch()
{
return new DefaultContractAccountingSEPAMandateServiceBatch(this);
}
@Override
@Nonnull
public SEPAMandateFluentHelper getAllSEPAMandate()
{
return new SEPAMandateFluentHelper(servicePath);
}
@Override
@Nonnull
public SEPAMandateByKeyFluentHelper getSEPAMandateByKey( final String creditor, final String sEPAMandate )
{
return new SEPAMandateByKeyFluentHelper(servicePath, creditor, sEPAMandate);
}
@Override
@Nonnull
public SEPAMandateCreateFluentHelper createSEPAMandate( @Nonnull final SEPAMandate sEPAMandate )
{
return new SEPAMandateCreateFluentHelper(servicePath, sEPAMandate);
}
@Override
@Nonnull
public SEPAMandateUpdateFluentHelper updateSEPAMandate( @Nonnull final SEPAMandate sEPAMandate )
{
return new SEPAMandateUpdateFluentHelper(servicePath, sEPAMandate);
}
@Override
@Nonnull
public SEPAMandateUsageFluentHelper getAllSEPAMandateUsage()
{
return new SEPAMandateUsageFluentHelper(servicePath);
}
@Override
@Nonnull
public SEPAMandateUsageByKeyFluentHelper getSEPAMandateUsageByKey(
final String creditor,
final String sEPAMandate,
final LocalDateTime sEPAMandateUseDate,
final String sEPAMandateUseObjectType,
final String sEPAMandateUsePaymentDoc )
{
return new SEPAMandateUsageByKeyFluentHelper(
servicePath,
creditor,
sEPAMandate,
sEPAMandateUseDate,
sEPAMandateUseObjectType,
sEPAMandateUsePaymentDoc);
}
@Override
@Nonnull
public SEPAMandateUsageCreateFluentHelper createSEPAMandateUsage( @Nonnull final SEPAMandateUsage sEPAMandateUsage )
{
return new SEPAMandateUsageCreateFluentHelper(servicePath, sEPAMandateUsage);
}
}