
org.catools.ws.model.CResponseHeader Maven / Gradle / Ivy
package org.catools.ws.model;
import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.catools.common.collections.CList;
import org.catools.common.extensions.types.CStringExtension;
import org.catools.common.extensions.types.interfaces.CCollectionExtension;
import java.util.Arrays;
public class CResponseHeader {
private String name;
private String value;
private HeaderElement[] headerElements;
public final CCollectionExtension Elements = new CCollectionExtension<>() {
@Override
public Iterable getBaseValue() {
return headerElements == null ? new CList<>() : new CList<>(headerElements).getAll(e -> e != null).mapToList(e -> new CHeaderElement(e));
}
@Override
public int hashCode() {
return getBaseValue().hashCode();
}
@Override
public boolean equals(Object obj) {
return isEqual((Iterable) obj);
}
};
public final CStringExtension Name = new CStringExtension() {
@Override
public String getBaseValue() {
return name;
}
};
public final CStringExtension Value = new CStringExtension() {
@Override
public String getBaseValue() {
return value;
}
};
public CResponseHeader() {
}
public CResponseHeader(Header header) {
this(header == null ? null : header.getName(), header == null ? null : header.getValue(), header == null ? null : header.getElements());
}
public CResponseHeader(String name, String value, HeaderElement[] headerElements) {
this.name = name;
this.value = value;
this.headerElements = headerElements;
}
@Override
public String toString() {
return "Header{" +
"name='" + name + '\'' +
", value='" + value + '\'' +
", headerElements=" + Arrays.toString(headerElements) +
'}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy