
com.sap.cloud.sdk.s4hana.datamodel.odata.services.DefaultCommercialProjectDetailService 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.commercialprojectdetail.PlanDataByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.PlanDataFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.ProjectByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.ProjectFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.StaffingDataByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.StaffingDataFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.WorkItemByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.WorkItemFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.WorkpackageByKeyFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.WorkpackageFluentHelper;
import com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.commercialprojectdetail.batch.DefaultCommercialProjectDetailServiceBatch;
/**
*
* You can use this service to extract information related to customer or internal projects, created in your SAP S/4HANA
* Cloud. The service is designed to provide all header and detail-level information about a project, and can be used as
* a data provider for integration with third-party tools or applications that support activities such as resource
* management, staffing, or time recording.
*
*
*
* Reference: SAP
* API Business Hub
*
* Details:
*
*
* OData Service:
* _CPD_SC_EXTERNAL_SERVICES_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.DefaultCommercialProjectDetailService" )
public class DefaultCommercialProjectDetailService implements CommercialProjectDetailService
{
@Nonnull
private final String servicePath;
/**
* Creates a service using {@link CommercialProjectDetailService#DEFAULT_SERVICE_PATH} to send the requests.
*
*/
public DefaultCommercialProjectDetailService()
{
servicePath = CommercialProjectDetailService.DEFAULT_SERVICE_PATH;
}
/**
* Creates a service using the provided service path to send the requests.
*
* Used by the fluent {@link #withServicePath(String)} method.
*
*/
private DefaultCommercialProjectDetailService( @Nonnull final String servicePath )
{
this.servicePath = servicePath;
}
@Override
@Nonnull
public DefaultCommercialProjectDetailService withServicePath( @Nonnull final String servicePath )
{
return new DefaultCommercialProjectDetailService(servicePath);
}
/**
* {@inheritDoc}
*
*/
@Override
@Nonnull
public DefaultCommercialProjectDetailServiceBatch batch()
{
return new DefaultCommercialProjectDetailServiceBatch(this);
}
@Override
@Nonnull
public ProjectFluentHelper getAllProject()
{
return new ProjectFluentHelper(servicePath);
}
@Override
@Nonnull
public ProjectByKeyFluentHelper getProjectByKey( final String projectID )
{
return new ProjectByKeyFluentHelper(servicePath, projectID);
}
@Override
@Nonnull
public WorkpackageFluentHelper getAllWorkpackage()
{
return new WorkpackageFluentHelper(servicePath);
}
@Override
@Nonnull
public WorkpackageByKeyFluentHelper getWorkpackageByKey( final String workPackageID )
{
return new WorkpackageByKeyFluentHelper(servicePath, workPackageID);
}
@Override
@Nonnull
public PlanDataFluentHelper getAllPlanData()
{
return new PlanDataFluentHelper(servicePath);
}
@Override
@Nonnull
public PlanDataByKeyFluentHelper getPlanDataByKey(
final String projectID,
final String resType,
final String workPackageID,
final String resourceId,
final String version,
final String employee,
final String confirmed,
final String workitemId,
final String delvryServOrg )
{
return new PlanDataByKeyFluentHelper(
servicePath,
projectID,
resType,
workPackageID,
resourceId,
version,
employee,
confirmed,
workitemId,
delvryServOrg);
}
@Override
@Nonnull
public WorkItemFluentHelper getAllWorkItem()
{
return new WorkItemFluentHelper(servicePath);
}
@Override
@Nonnull
public WorkItemByKeyFluentHelper getWorkItemByKey( final String workitem, final String workpackageID )
{
return new WorkItemByKeyFluentHelper(servicePath, workitem, workpackageID);
}
@Override
@Nonnull
public StaffingDataFluentHelper getAllStaffingData()
{
return new StaffingDataFluentHelper(servicePath);
}
@Override
@Nonnull
public StaffingDataByKeyFluentHelper getStaffingDataByKey(
final String projectID,
final String workPackageID,
final String resType,
final String resourceId,
final String workitemId )
{
return new StaffingDataByKeyFluentHelper(
servicePath,
projectID,
workPackageID,
resType,
resourceId,
workitemId);
}
}