
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultBusinessEventSubscriptionService 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.businesseventsubscription.SubscriptionMaintain;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.SubscriptionMaintainByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.SubscriptionMaintainCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.SubscriptionMaintainFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.SubscriptionMaintainUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.SubscriptionReadByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.SubscriptionReadFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.businesseventsubscription.batch.DefaultBusinessEventSubscriptionServiceBatch;
/**
*
* Business Events - Subscription Service.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* CA_BEH_SUBSCRIPTION_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Business Event Handling Integration (SAP_COM_0121)
*
*
* Scope Items:
* Business Object Event Handling (1NN)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultBusinessEventSubscriptionService" )
public class DefaultBusinessEventSubscriptionService implements BusinessEventSubscriptionService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link BusinessEventSubscriptionService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultBusinessEventSubscriptionService()
{
servicePath = BusinessEventSubscriptionService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultBusinessEventSubscriptionService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultBusinessEventSubscriptionService withServicePath( @Nonnull final String servicePath )
{
return new DefaultBusinessEventSubscriptionService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultBusinessEventSubscriptionServiceBatch batch()
{
return new DefaultBusinessEventSubscriptionServiceBatch(this);
}
@Override
@Nonnull
public SubscriptionMaintainFluentHelper getAllSubscriptionMaintain()
{
return new SubscriptionMaintainFluentHelper(servicePath);
}
@Override
@Nonnull
public SubscriptionMaintainByKeyFluentHelper getSubscriptionMaintainByKey(
final String busEventSubscriberCode,
final String sAPObjectType,
final String sAPObjectTaskCode )
{
return new SubscriptionMaintainByKeyFluentHelper(
servicePath,
busEventSubscriberCode,
sAPObjectType,
sAPObjectTaskCode);
}
@Override
@Nonnull
public SubscriptionMaintainCreateFluentHelper createSubscriptionMaintain(
@Nonnull final SubscriptionMaintain subscriptionMaintain )
{
return new SubscriptionMaintainCreateFluentHelper(servicePath, subscriptionMaintain);
}
@Override
@Nonnull
public SubscriptionMaintainUpdateFluentHelper updateSubscriptionMaintain(
@Nonnull final SubscriptionMaintain subscriptionMaintain )
{
return new SubscriptionMaintainUpdateFluentHelper(servicePath, subscriptionMaintain);
}
@Override
@Nonnull
public SubscriptionReadFluentHelper getAllSubscriptionRead()
{
return new SubscriptionReadFluentHelper(servicePath);
}
@Override
@Nonnull
public SubscriptionReadByKeyFluentHelper getSubscriptionReadByKey(
final String busEventSubscriberCode,
final String sAPObjectType,
final String sAPObjectTaskCode )
{
return new SubscriptionReadByKeyFluentHelper(
servicePath,
busEventSubscriberCode,
sAPObjectType,
sAPObjectTaskCode);
}
}