
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultLedgerService 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.ledger.LedgerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.ledger.LedgerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.ledger.LedgerTextByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.ledger.LedgerTextFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.ledger.batch.DefaultLedgerServiceBatch;
/**
*
* This service enables you to read ledger master data in an API call. It is based on the OData protocol, and can be
* consumed in Fiori apps and on other user interfaces.
*
*
*
* Reference:
* SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_LEDGER_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* SAP Business Objects Cloud for Planning Integration (SAP_COM_0087)
*
*
* Scope Items:
* oData Integration with SAP Business Objects Cloud for
* Planning (1YB)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultLedgerService" )
public class DefaultLedgerService implements LedgerService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link LedgerService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultLedgerService()
{
servicePath = LedgerService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultLedgerService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultLedgerService withServicePath( @Nonnull final String servicePath )
{
return new DefaultLedgerService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultLedgerServiceBatch batch()
{
return new DefaultLedgerServiceBatch(this);
}
@Override
@Nonnull
public LedgerFluentHelper getAllLedger()
{
return new LedgerFluentHelper(servicePath);
}
@Override
@Nonnull
public LedgerByKeyFluentHelper getLedgerByKey( final String ledger )
{
return new LedgerByKeyFluentHelper(servicePath, ledger);
}
@Override
@Nonnull
public LedgerTextFluentHelper getAllLedgerText()
{
return new LedgerTextFluentHelper(servicePath);
}
@Override
@Nonnull
public LedgerTextByKeyFluentHelper getLedgerTextByKey( final String ledger, final String language )
{
return new LedgerTextByKeyFluentHelper(servicePath, ledger, language);
}
}