001
002package com.commercetools.api.models;
003
004import com.commercetools.api.models.type.CustomFields;
005
006/**
007 * Entity with a CustomField property
008 * @param <T> The type which is customizable.
009 */
010public interface Customizable<T extends Customizable<T>> {
011    /**
012     * <p>Custom Fields defined for the entity</p>
013     * @return CustomFields
014     */
015    public CustomFields getCustom();
016
017    /**
018     * <p>Custom Fields defined for the entity</p>
019     * @param custom custom field
020     */
021    public void setCustom(final CustomFields custom);
022
023    default T unwrapCustomizable() {
024        return (T) this;
025    }
026}