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

com.sdl.dxa.common.dto.StaticContentRequestDto Maven / Gradle / Ivy

Go to download

DXA Common project contains framework common classes shared between all other artifacts

There is a newer version: 2.3.7
Show newest version
package com.sdl.dxa.common.dto;

import com.google.common.base.Strings;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.Value;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

@Value
@Builder(toBuilder = true, builderMethodName = "hiddenBuilder")
@ToString
public class StaticContentRequestDto {

    private String binaryPath;

    private int binaryId;

    private String localizationId;

    private String localizationPath;

    private String baseUrl;

    private boolean noMediaCache;

    /**
     * namespace {"tcm", "ish"}
     */
    private String uriType;

    @Getter(AccessLevel.NONE)
    @Setter(AccessLevel.NONE)
    private Map claims = new HashMap<>();

    public static StaticContentRequestDtoBuilder builder(String binaryPath, String localizationId) {
        return hiddenBuilder().localizationId(localizationId).binaryPath(binaryPath);
    }
    public static StaticContentRequestDtoBuilder builder(int binaryId, String localizationId) {
        return hiddenBuilder().localizationId(localizationId).binaryId(binaryId);
    }

    private static StaticContentRequestDtoBuilder hiddenBuilder() {
        return new StaticContentRequestDtoBuilder();
    }

    /**
     * Checks if localization path is set.
     *
     * @return whether the localization path is not null
     */
    public boolean isLocalizationPathSet() {
        return localizationPath != null;
    }

    public static class StaticContentRequestDtoBuilder {

        private String baseUrl = "http://localhost/";
        private String uriType = "tcm";
    }

    public void addClaim(ClaimHolder holder) {
        if (holder == null) return;
        if (Strings.isNullOrEmpty(holder.getUri())) {
            throw new IllegalArgumentException("Claim should contain an non-empty URI, but was: " + holder);
        }
        claims.put(holder.getUri(), holder);
    }

    public Map getClaims() {
        return Collections.unmodifiableMap(claims);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy