InternalAttribute Class — netty Architecture
Architecture documentation for the InternalAttribute class in InternalAttribute.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 431cc176_2e7e_e5dd_cd84_a728158cf079["InternalAttribute"] 25806716_6e33_3967_98b5_46838787cfa2["InternalAttribute.java"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|defined in| 25806716_6e33_3967_98b5_46838787cfa2 f96a96fb_bfc9_79ae_fe3b_46981c4acdd5["InternalAttribute()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| f96a96fb_bfc9_79ae_fe3b_46981c4acdd5 086ceac3_794b_e2b2_d3e2_9fd34f7fb359["HttpDataType()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 086ceac3_794b_e2b2_d3e2_9fd34f7fb359 53249bee_a146_c40f_5dc5_d836d57fb4db["addValue()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 53249bee_a146_c40f_5dc5_d836d57fb4db 118bc8f6_d772_e57b_5309_257181bf55e9["setValue()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 118bc8f6_d772_e57b_5309_257181bf55e9 2e94acd0_892e_8afb_2f41_931dcd687366["hashCode()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 2e94acd0_892e_8afb_2f41_931dcd687366 21d9c01e_ace5_3c60_75eb_ce4a2874cd4f["equals()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 21d9c01e_ace5_3c60_75eb_ce4a2874cd4f 1978b668_13d2_eecd_c063_2c3d664f07e7["compareTo()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 1978b668_13d2_eecd_c063_2c3d664f07e7 0952ad42_5f79_6884_2d41_19a1adcf3b6b["String()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 0952ad42_5f79_6884_2d41_19a1adcf3b6b 46ca9978_0ddf_b859_c419_d82d7097f2d3["size()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 46ca9978_0ddf_b859_c419_d82d7097f2d3 d20b1d1f_1c95_a3c4_0bb8_60dce90f3ea8["ByteBuf()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| d20b1d1f_1c95_a3c4_0bb8_60dce90f3ea8 315506a9_1e68_53fa_08eb_1178fc905852["deallocate()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 315506a9_1e68_53fa_08eb_1178fc905852 11220619_357f_d9a3_28a3_434192f9ca4e["InterfaceHttpData()"] 431cc176_2e7e_e5dd_cd84_a728158cf079 -->|method| 11220619_357f_d9a3_28a3_434192f9ca4e
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java lines 31–155
final class InternalAttribute extends AbstractReferenceCounted implements InterfaceHttpData {
private final List<ByteBuf> value = new ArrayList<ByteBuf>();
private final Charset charset;
private int size;
InternalAttribute(Charset charset) {
this.charset = charset;
}
@Override
public HttpDataType getHttpDataType() {
return HttpDataType.InternalAttribute;
}
public void addValue(String value) {
ObjectUtil.checkNotNull(value, "value");
ByteBuf buf = Unpooled.copiedBuffer(value, charset);
this.value.add(buf);
size += buf.readableBytes();
}
public void addValue(String value, int rank) {
ObjectUtil.checkNotNull(value, "value");
ByteBuf buf = Unpooled.copiedBuffer(value, charset);
this.value.add(rank, buf);
size += buf.readableBytes();
}
public void setValue(String value, int rank) {
ObjectUtil.checkNotNull(value, "value");
ByteBuf buf = Unpooled.copiedBuffer(value, charset);
ByteBuf old = this.value.set(rank, buf);
if (old != null) {
size -= old.readableBytes();
old.release();
}
size += buf.readableBytes();
}
@Override
public int hashCode() {
return getName().hashCode();
}
@Override
public boolean equals(Object o) {
if (!(o instanceof InternalAttribute)) {
return false;
}
InternalAttribute attribute = (InternalAttribute) o;
return getName().equalsIgnoreCase(attribute.getName());
}
@Override
public int compareTo(InterfaceHttpData o) {
if (!(o instanceof InternalAttribute)) {
throw new ClassCastException("Cannot compare " + getHttpDataType() +
" with " + o.getHttpDataType());
}
return compareTo((InternalAttribute) o);
}
public int compareTo(InternalAttribute o) {
return getName().compareToIgnoreCase(o.getName());
}
@Override
public String toString() {
StringBuilder result = new StringBuilder();
for (ByteBuf elt : value) {
result.append(elt.toString(charset));
}
return result.toString();
}
public int size() {
return size;
}
public ByteBuf toByteBuf() {
return Unpooled.compositeBuffer().addComponents(value).writerIndex(size()).readerIndex(0);
Source
Frequently Asked Questions
What is the InternalAttribute class?
InternalAttribute is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java.
Where is InternalAttribute defined?
InternalAttribute is defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java at line 31.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free