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}