
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultCommercialProjectService 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.commercialproject.Demand;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.DemandCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.DemandDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.DemandUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.Project;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.ProjectCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.ProjectUpdateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkItem;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkItemCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkItemDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkPackage;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkPackageCreateFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkPackageDeleteFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialproject.WorkPackageUpdateFluentHelper;
/**
*
* This service enables you to create and update commercial projects in a SAP S/4HANA Cloud system. For example, you can
* use this service to create a customer or internal project based on an opportunity or a quotation.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* _CPD_SC_PROJ_ENGMT_CREATE_UPD_SRV
*
*
* API Version:
* 1
*
*
* Communication Scenario:
* Commercial Project Integration (SAP_COM_0054)
*
*
* Scope Items:
* Internal Project Management (1A8),
* Customer Project Management (J11)
*
*
*
*/
@Named( "com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultCommercialProjectService" )
public class DefaultCommercialProjectService implements CommercialProjectService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link CommercialProjectService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultCommercialProjectService()
{
servicePath = CommercialProjectService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultCommercialProjectService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultCommercialProjectService withServicePath( @Nonnull final String servicePath )
{
return new DefaultCommercialProjectService(servicePath);
}
@Override
@Nonnull
public ProjectCreateFluentHelper createProject( @Nonnull final Project project )
{
return new ProjectCreateFluentHelper(servicePath, project);
}
@Override
@Nonnull
public ProjectUpdateFluentHelper updateProject( @Nonnull final Project project )
{
return new ProjectUpdateFluentHelper(servicePath, project);
}
@Override
@Nonnull
public WorkPackageCreateFluentHelper createWorkPackage( @Nonnull final WorkPackage workPackage )
{
return new WorkPackageCreateFluentHelper(servicePath, workPackage);
}
@Override
@Nonnull
public WorkPackageUpdateFluentHelper updateWorkPackage( @Nonnull final WorkPackage workPackage )
{
return new WorkPackageUpdateFluentHelper(servicePath, workPackage);
}
@Override
@Nonnull
public WorkPackageDeleteFluentHelper deleteWorkPackage( @Nonnull final WorkPackage workPackage )
{
return new WorkPackageDeleteFluentHelper(servicePath, workPackage);
}
@Override
@Nonnull
public WorkItemCreateFluentHelper createWorkItem( @Nonnull final WorkItem workItem )
{
return new WorkItemCreateFluentHelper(servicePath, workItem);
}
@Override
@Nonnull
public WorkItemDeleteFluentHelper deleteWorkItem( @Nonnull final WorkItem workItem )
{
return new WorkItemDeleteFluentHelper(servicePath, workItem);
}
@Override
@Nonnull
public DemandCreateFluentHelper createDemand( @Nonnull final Demand demand )
{
return new DemandCreateFluentHelper(servicePath, demand);
}
@Override
@Nonnull
public DemandUpdateFluentHelper updateDemand( @Nonnull final Demand demand )
{
return new DemandUpdateFluentHelper(servicePath, demand);
}
@Override
@Nonnull
public DemandDeleteFluentHelper deleteDemand( @Nonnull final Demand demand )
{
return new DemandDeleteFluentHelper(servicePath, demand);
}
}