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