All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sdl.dxa.tridion.mapping.ModelBuilder Maven / Gradle / Ivy

package com.sdl.dxa.tridion.mapping;

import com.sdl.dxa.api.datamodel.model.EntityModelData;
import com.sdl.dxa.api.datamodel.model.PageModelData;
import com.sdl.dxa.tridion.mapping.impl.DefaultModelBuilder;
import com.sdl.dxa.tridion.mapping.impl.ModelBuilderPipelineImpl;
import org.springframework.core.Ordered;

/**
 * Builds a strongly typed DXA Model based on a given DXA R2 Data Model.
 * 

Implementations of known sub-interfaces ({@link EntityModelBuilder} and {@link PageModelBuilder}) are added to a {@link ModelBuilderPipelineImpl} * accordingly to their order defined by {@link Ordered#getOrder()}. * {@linkplain DefaultModelBuilder Default basic implementation} gets the highest precedence which shouldn't be overridden, * other DXA default implementations get the order number between {@linkplain Ordered#HIGHEST_PRECEDENCE highest precedence} * and {@code 0} with approximate step {@code 1000}.

*

Custom implementations are expected to have 0 < order number > {@link Ordered#LOWEST_PRECEDENCE} * unless they are required to be injected in the middle of default implementations. * Default ones are still expected to be the first.

* * @see EntityModelData * @see PageModelData * @see EntityModelBuilder * @see PageModelBuilder * @see ModelBuilderPipelineImpl */ public interface ModelBuilder extends Ordered { }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy