
com.sdl.dxa.api.datamodel.model.RegionModelData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dxa-data-model Show documentation
Show all versions of dxa-data-model Show documentation
DXA Data Model artifact provides API for de-/serializing CM JSON content into a DXA model
package com.sdl.dxa.api.datamodel.model;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.sdl.dxa.api.datamodel.model.util.ModelDataWrapper;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ToString(callSuper = true)
@NoArgsConstructor
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@JsonTypeName
public class RegionModelData extends ViewModelData {
private String name;
private String includePageId;
private List entities;
private List regions;
@Builder
public RegionModelData(String schemaId, String htmlClasses, Map xpmMetadata, ContentModelData metadata, Map extensionData, MvcModelData mvcData, String name, String includePageId, List entities, List regions) { // NOSONAR
super(schemaId, htmlClasses, xpmMetadata, metadata, extensionData, mvcData);
this.name = name;
this.includePageId = includePageId;
this.entities = entities;
this.regions = regions;
}
@Builder
public RegionModelData(String name, String includePageId, List entities, List regions) {
this.name = name;
this.includePageId = includePageId;
this.entities = entities;
this.regions = regions;
}
/**
* Adds a region to the end of the region collection.
*
* @param regionModelData region to add
*/
public void addRegion(RegionModelData regionModelData) {
if (regions == null) {
regions = new ArrayList<>();
}
regions.add(regionModelData);
}
@Override
public ModelDataWrapper getDataWrapper() {
return new ModelDataWrapper() {
@Override
public ContentModelData getMetadata() {
return RegionModelData.this.getMetadata();
}
@Override
public Object getWrappedModel() {
return RegionModelData.this;
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy