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

org.catools.ws.model.CHeaderElement Maven / Gradle / Ivy

package org.catools.ws.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.http.HeaderElement;
import org.apache.http.NameValuePair;
import org.catools.common.collections.CHashMap;
import org.catools.common.collections.interfaces.CMap;
import org.catools.common.extensions.types.interfaces.CMapExtension;
import org.catools.common.extensions.types.interfaces.CStringExtension;

public class CHeaderElement {
    private String name;
    private String value;
    private CMap parameters = new CHashMap<>();

    @JsonIgnore
    public final CMapExtension Parameters = () -> {
        return parameters;
    };

    @JsonIgnore
    public final CStringExtension Name = () -> name;

    @JsonIgnore
    public final CStringExtension Value = () -> value;

    public CHeaderElement(HeaderElement headerElement) {
        this(headerElement.getName(), headerElement.getValue(), headerElement.getParameters());
    }

    public CHeaderElement(String name, String value, NameValuePair[] parameters) {
        this.name = name;
        this.value = value;
        if (parameters != null) {
            for (NameValuePair parameter : parameters) {
                if (parameter != null) {
                    this.parameters.put(parameter.getName(), parameter.getValue());
                }
            }
        }
    }

    @Override
    public String toString() {
        return "HeaderElement{" +
                "name='" + name + '\'' +
                ", value='" + value + '\'' +
                ", parameters=" + parameters +
                '}';
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy