// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.apimanagement.implementation;

import com.azure.resourcemanager.apimanagement.fluent.models.ReportRecordContractInner;
import com.azure.resourcemanager.apimanagement.models.ReportRecordContract;
import java.time.OffsetDateTime;

public final class ReportRecordContractImpl implements ReportRecordContract {
    private ReportRecordContractInner innerObject;

    private final com.azure.resourcemanager.apimanagement.ApiManagementManager serviceManager;

    ReportRecordContractImpl(
        ReportRecordContractInner innerObject,
        com.azure.resourcemanager.apimanagement.ApiManagementManager serviceManager) {
        this.innerObject = innerObject;
        this.serviceManager = serviceManager;
    }

    public String name() {
        return this.innerModel().name();
    }

    public OffsetDateTime timestamp() {
        return this.innerModel().timestamp();
    }

    public String interval() {
        return this.innerModel().interval();
    }

    public String country() {
        return this.innerModel().country();
    }

    public String region() {
        return this.innerModel().region();
    }

    public String zip() {
        return this.innerModel().zip();
    }

    public String userId() {
        return this.innerModel().userId();
    }

    public String productId() {
        return this.innerModel().productId();
    }

    public String apiId() {
        return this.innerModel().apiId();
    }

    public String operationId() {
        return this.innerModel().operationId();
    }

    public String apiRegion() {
        return this.innerModel().apiRegion();
    }

    public String subscriptionId() {
        return this.innerModel().subscriptionId();
    }

    public Integer callCountSuccess() {
        return this.innerModel().callCountSuccess();
    }

    public Integer callCountBlocked() {
        return this.innerModel().callCountBlocked();
    }

    public Integer callCountFailed() {
        return this.innerModel().callCountFailed();
    }

    public Integer callCountOther() {
        return this.innerModel().callCountOther();
    }

    public Integer callCountTotal() {
        return this.innerModel().callCountTotal();
    }

    public Long bandwidth() {
        return this.innerModel().bandwidth();
    }

    public Integer cacheHitCount() {
        return this.innerModel().cacheHitCount();
    }

    public Integer cacheMissCount() {
        return this.innerModel().cacheMissCount();
    }

    public Double apiTimeAvg() {
        return this.innerModel().apiTimeAvg();
    }

    public Double apiTimeMin() {
        return this.innerModel().apiTimeMin();
    }

    public Double apiTimeMax() {
        return this.innerModel().apiTimeMax();
    }

    public Double serviceTimeAvg() {
        return this.innerModel().serviceTimeAvg();
    }

    public Double serviceTimeMin() {
        return this.innerModel().serviceTimeMin();
    }

    public Double serviceTimeMax() {
        return this.innerModel().serviceTimeMax();
    }

    public ReportRecordContractInner innerModel() {
        return this.innerObject;
    }

    private com.azure.resourcemanager.apimanagement.ApiManagementManager manager() {
        return this.serviceManager;
    }
}
