
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultKanbanControlCycleV2Service 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.math.BigDecimal;
import java.time.ZonedDateTime;
import javax.annotation.Nonnull;
import javax.inject.Named;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanContainerByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanContainerDeliveryAddrByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanContainerDeliveryAddrFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanContainerFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanControlCycle;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanControlCycleByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanControlCycleCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanControlCycleFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanControlCycleUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanCtnDetailedQtyByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanCtnDetailedQtyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanDeliveryByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.KanbanDeliveryFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.SetKanbanContainerLockFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.SetKanbanContainerStatusFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.SetKanbanControlCycleLifeCycleStatusFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.kanbancontrolcyclev2.batch.DefaultKanbanControlCycleV2ServiceBatch;
/**
*
* This service enables you to create and retrieve kanban control cycles and their kanban container data. Additionally,
* it is possible to change control cycles, to set the status both on control cycle and on container level, and to
* lock/unlock containers.
*
* The service is based on the OData protocol, and can be consumed by external systems and user interfaces..
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* API_KANBAN_CONTROL_CYCLE_SRV_0002
*
*
* API Version:
* 2
*
*
* Communication Scenario:
* Kanban Control Cycle Integration (SAP_COM_0330)
*
*
* Scope Items:
* Manufacturing with Kanban Supply into Production
* (1E3)
*
*
* Authentication Methods:
* Basic, x509
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultKanbanControlCycleV2Service" )
public class DefaultKanbanControlCycleV2Service implements KanbanControlCycleV2Service
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link KanbanControlCycleV2Service#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultKanbanControlCycleV2Service()
{
servicePath = KanbanControlCycleV2Service.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultKanbanControlCycleV2Service( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultKanbanControlCycleV2Service withServicePath( @Nonnull final String servicePath )
{
return new DefaultKanbanControlCycleV2Service(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultKanbanControlCycleV2ServiceBatch batch()
{
return new DefaultKanbanControlCycleV2ServiceBatch(this);
}
@Override
@Nonnull
public KanbanContainerFluentHelper getAllKanbanContainer()
{
return new KanbanContainerFluentHelper(servicePath);
}
@Override
@Nonnull
public KanbanContainerByKeyFluentHelper getKanbanContainerByKey( final String kanbanContainer )
{
return new KanbanContainerByKeyFluentHelper(servicePath, kanbanContainer);
}
@Override
@Nonnull
public KanbanContainerDeliveryAddrFluentHelper getAllKanbanContainerDeliveryAddr()
{
return new KanbanContainerDeliveryAddrFluentHelper(servicePath);
}
@Override
@Nonnull
public KanbanContainerDeliveryAddrByKeyFluentHelper getKanbanContainerDeliveryAddrByKey(
final String kanbanControlCycle )
{
return new KanbanContainerDeliveryAddrByKeyFluentHelper(servicePath, kanbanControlCycle);
}
@Override
@Nonnull
public KanbanControlCycleFluentHelper getAllKanbanControlCycle()
{
return new KanbanControlCycleFluentHelper(servicePath);
}
@Override
@Nonnull
public KanbanControlCycleByKeyFluentHelper getKanbanControlCycleByKey( final String kanbanControlCycle )
{
return new KanbanControlCycleByKeyFluentHelper(servicePath, kanbanControlCycle);
}
@Override
@Nonnull
public KanbanControlCycleCreateFluentHelper createKanbanControlCycle(
@Nonnull final KanbanControlCycle kanbanControlCycle )
{
return new KanbanControlCycleCreateFluentHelper(servicePath, kanbanControlCycle);
}
@Override
@Nonnull
public KanbanControlCycleUpdateFluentHelper updateKanbanControlCycle(
@Nonnull final KanbanControlCycle kanbanControlCycle )
{
return new KanbanControlCycleUpdateFluentHelper(servicePath, kanbanControlCycle);
}
@Override
@Nonnull
public KanbanCtnDetailedQtyFluentHelper getAllKanbanCtnDetailedQty()
{
return new KanbanCtnDetailedQtyFluentHelper(servicePath);
}
@Override
@Nonnull
public
KanbanCtnDetailedQtyByKeyFluentHelper
getKanbanCtnDetailedQtyByKey( final String kanbanContainer, final String batch )
{
return new KanbanCtnDetailedQtyByKeyFluentHelper(servicePath, kanbanContainer, batch);
}
@Override
@Nonnull
public KanbanDeliveryFluentHelper getAllKanbanDelivery()
{
return new KanbanDeliveryFluentHelper(servicePath);
}
@Override
@Nonnull
public KanbanDeliveryByKeyFluentHelper getKanbanDeliveryByKey( final String kanbanContainer )
{
return new KanbanDeliveryByKeyFluentHelper(servicePath, kanbanContainer);
}
@Override
@Nonnull
public SetKanbanContainerStatusFluentHelper setKanbanContainerStatus(
final String kanbanContainer,
final String kanbanContainerStatus,
final BigDecimal actualQuantityInUnitOfEntry,
final String unitOfEntry,
final String batch,
final ZonedDateTime kanbanCtnStatusChangeDateTime,
final String deliveryNote )
{
return new SetKanbanContainerStatusFluentHelper(
servicePath,
kanbanContainer,
kanbanContainerStatus,
actualQuantityInUnitOfEntry,
unitOfEntry,
batch,
kanbanCtnStatusChangeDateTime,
deliveryNote);
}
@Override
@Nonnull
public
SetKanbanContainerLockFluentHelper
setKanbanContainerLock( final String kanbanContainer, final Boolean isLocked )
{
return new SetKanbanContainerLockFluentHelper(servicePath, kanbanContainer, isLocked);
}
@Override
@Nonnull
public SetKanbanControlCycleLifeCycleStatusFluentHelper setKanbanControlCycleLifeCycleStatus(
final String kanbanControlCycle,
final String kanbanCtrlCycleLifeCycleStatus )
{
return new SetKanbanControlCycleLifeCycleStatusFluentHelper(
servicePath,
kanbanControlCycle,
kanbanCtrlCycleLifeCycleStatus);
}
}