Interface Reference

All Known Subinterfaces:
CartDiscountReference, CategoryReference, ChannelReference, CustomerGroupReference, CustomerReference, DiscountCodeReference, PaymentReference, ProductDiscountReference, ProductReference, ProductSelectionReference, ProductTypeReference, RecurrencePolicyReference, ShippingMethodReference, StateReference, TaxCategoryReference, TypeReference

public interface Reference

A Reference represents a loose reference to another resource in the same Project identified by its id. The typeId indicates the type of the referenced resource. Each resource type has its corresponding Reference type, like ChannelReference. A referenced resource can be embedded through Reference Expansion. The expanded reference is the value of an additional obj field then.


Example to create a subtype instance using the builder pattern

     Reference reference = Reference.cartDiscountBuilder()
             id("{id}")
             .build()
 
  • Method Details

    • getTypeId

      @NotNull @NotNull ReferenceTypeId getTypeId()

      Type of referenced resource.

      Returns:
      typeId
    • getId

      @NotNull @NotNull String getId()

      Unique ID of the referenced resource.

      Returns:
      id
    • setId

      void setId(String id)

      Unique ID of the referenced resource.

      Parameters:
      id - value to be set
    • copyDeep

      Reference copyDeep()
    • deepCopy

      @Nullable static Reference deepCopy(@Nullable Reference template)
      factory method to create a deep copy of Reference
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • cartDiscountBuilder

      static CartDiscountReferenceBuilder cartDiscountBuilder()
      builder for cartDiscount subtype
      Returns:
      builder
    • categoryBuilder

      static CategoryReferenceBuilder categoryBuilder()
      builder for category subtype
      Returns:
      builder
    • channelBuilder

      static ChannelReferenceBuilder channelBuilder()
      builder for channel subtype
      Returns:
      builder
    • customerGroupBuilder

      static CustomerGroupReferenceBuilder customerGroupBuilder()
      builder for customerGroup subtype
      Returns:
      builder
    • customerBuilder

      static CustomerReferenceBuilder customerBuilder()
      builder for customer subtype
      Returns:
      builder
    • discountCodeBuilder

      static DiscountCodeReferenceBuilder discountCodeBuilder()
      builder for discountCode subtype
      Returns:
      builder
    • paymentBuilder

      static PaymentReferenceBuilder paymentBuilder()
      builder for payment subtype
      Returns:
      builder
    • productDiscountBuilder

      static ProductDiscountReferenceBuilder productDiscountBuilder()
      builder for productDiscount subtype
      Returns:
      builder
    • productBuilder

      static ProductReferenceBuilder productBuilder()
      builder for product subtype
      Returns:
      builder
    • productSelectionBuilder

      static ProductSelectionReferenceBuilder productSelectionBuilder()
      builder for productSelection subtype
      Returns:
      builder
    • productTypeBuilder

      static ProductTypeReferenceBuilder productTypeBuilder()
      builder for productType subtype
      Returns:
      builder
    • recurrencePolicyBuilder

      static RecurrencePolicyReferenceBuilder recurrencePolicyBuilder()
      builder for recurrencePolicy subtype
      Returns:
      builder
    • shippingMethodBuilder

      static ShippingMethodReferenceBuilder shippingMethodBuilder()
      builder for shippingMethod subtype
      Returns:
      builder
    • stateBuilder

      static StateReferenceBuilder stateBuilder()
      builder for state subtype
      Returns:
      builder
    • taxCategoryBuilder

      static TaxCategoryReferenceBuilder taxCategoryBuilder()
      builder for taxCategory subtype
      Returns:
      builder
    • typeBuilder

      static TypeReferenceBuilder typeBuilder()
      builder for type subtype
      Returns:
      builder
    • withReference

      default <T> T withReference(Function<Reference,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<Reference> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference