001 002package com.commercetools.api.client; 003 004import java.util.List; 005 006import io.vrap.rmf.base.client.utils.Generated; 007 008/** 009 * StoreprojectingTrait 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 StoreprojectingTrait<T extends StoreprojectingTrait<T>> { 014 List<String> getStoreProjection(); 015 016 /** 017 * set storeProjection with the specificied value 018 * @param storeProjection value to be set 019 * @param <TValue> value type 020 * @return StoreprojectingTrait 021 */ 022 <TValue> StoreprojectingTrait<T> withStoreProjection(final TValue storeProjection); 023 024 /** 025 * add additional storeProjection query parameter 026 * @param storeProjection value to be added 027 * @param <TValue> value type 028 * @return StoreprojectingTrait 029 */ 030 <TValue> StoreprojectingTrait<T> addStoreProjection(final TValue storeProjection); 031 032 default StoreprojectingTrait<T> asStoreprojectingTrait() { 033 return this; 034 } 035 036 @SuppressWarnings("unchecked") 037 default T asStoreprojectingTraitToBaseType() { 038 return (T) this; 039 } 040 041}