001
002package com.commercetools.api.client;
003
004import java.util.List;
005
006import io.vrap.rmf.base.client.utils.Generated;
007
008/**
009 * ProjectionselectingTrait
010 * @param <T> type of extending interface
011 */
012@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
013public interface ProjectionselectingTrait<T extends ProjectionselectingTrait<T>> {
014    List<String> getStaged();
015
016    /**
017     * set staged with the specificied value
018     * @param staged value to be set
019     * @param <TValue> value type
020     * @return ProjectionselectingTrait
021     */
022    <TValue> ProjectionselectingTrait<T> withStaged(final TValue staged);
023
024    /**
025     * add additional staged query parameter
026     * @param staged value to be added
027     * @param <TValue> value type
028     * @return ProjectionselectingTrait
029     */
030    <TValue> ProjectionselectingTrait<T> addStaged(final TValue staged);
031
032    default ProjectionselectingTrait<T> asProjectionselectingTrait() {
033        return this;
034    }
035
036    @SuppressWarnings("unchecked")
037    default T asProjectionselectingTraitToBaseType() {
038        return (T) this;
039    }
040
041}