All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.davidmoten.odata.client.EntityRequest Maven / Gradle / Ivy

package com.github.davidmoten.odata.client;

import com.github.davidmoten.odata.client.internal.RequestHelper;

public abstract class EntityRequest {

    private final Class cls;
    protected final ContextPath contextPath;
    private final SchemaInfo schemaInfo;

    public EntityRequest(Class cls, ContextPath contextPath, SchemaInfo schemaInfo) {
        this.cls = cls;
        this.contextPath = contextPath;
        this.schemaInfo = schemaInfo;
    }

    T get(EntityRequestOptions options) {
        return RequestHelper.get(contextPath, cls, options, schemaInfo);
    }

    void delete(EntityRequestOptions options) {
        RequestHelper.delete(contextPath, options);
    }

    T patch(EntityRequestOptions options, T entity) {
        return RequestHelper.patch(entity, contextPath, options);
    }

    T put(EntityRequestOptions options, T entity) {
        return RequestHelper.put(entity, contextPath, options);
    }

    public T get() {
        return new EntityRequestOptionsBuilder(this).get();
    }

    public void delete() {
        new EntityRequestOptionsBuilder(this).delete();
    }

    public T patch(T entity) {
        return new EntityRequestOptionsBuilder(this).patch(entity);
    }

    public T put(T entity) {
        return new EntityRequestOptionsBuilder(this).put(entity);
    }

    public EntityRequestOptionsBuilder requestHeader(String key, String value) {
        return new EntityRequestOptionsBuilder(this).requestHeader(key, value);
    }

    public EntityRequestOptionsBuilder select(String clause) {
        return new EntityRequestOptionsBuilder(this).select(clause);
    }

    public EntityRequestOptionsBuilder expand(String clause) {
        return new EntityRequestOptionsBuilder(this).expand(clause);
    }

    public EntityRequestOptionsBuilder metadataFull() {
        return new EntityRequestOptionsBuilder(this).metadataFull();
    }

    public EntityRequestOptionsBuilder metadataMinimal() {
        return new EntityRequestOptionsBuilder(this).metadataMinimal();
    }

    public EntityRequestOptionsBuilder metadataNone() {
        return new EntityRequestOptionsBuilder(this).metadataNone();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy