Home / Class/ MixedAttribute Class — netty Architecture

MixedAttribute Class — netty Architecture

Architecture documentation for the MixedAttribute class in MixedAttribute.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  74242bea_a1b1_ca22_9a8c_7bbe7d15e86f["MixedAttribute"]
  8fb55fe6_3c4f_b5d5_e233_d062cbb94953["MixedAttribute.java"]
  74242bea_a1b1_ca22_9a8c_7bbe7d15e86f -->|defined in| 8fb55fe6_3c4f_b5d5_e233_d062cbb94953
  9273a683_8296_da2a_75d9_17010bf55ea8["MixedAttribute()"]
  74242bea_a1b1_ca22_9a8c_7bbe7d15e86f -->|method| 9273a683_8296_da2a_75d9_17010bf55ea8
  a39cee99_eb22_e1a5_c5e4_cc3fbf345e26["Attribute()"]
  74242bea_a1b1_ca22_9a8c_7bbe7d15e86f -->|method| a39cee99_eb22_e1a5_c5e4_cc3fbf345e26
  b7f669eb_3f9f_0a76_7038_613a136e0418["String()"]
  74242bea_a1b1_ca22_9a8c_7bbe7d15e86f -->|method| b7f669eb_3f9f_0a76_7038_613a136e0418
  c0cb7780_1406_7f93_b622_43d91aeff86e["setValue()"]
  74242bea_a1b1_ca22_9a8c_7bbe7d15e86f -->|method| c0cb7780_1406_7f93_b622_43d91aeff86e

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java lines 27–157

public class MixedAttribute extends AbstractMixedHttpData<Attribute> implements Attribute {
    public MixedAttribute(String name, long limitSize) {
        this(name, limitSize, HttpConstants.DEFAULT_CHARSET);
    }

    public MixedAttribute(String name, long definedSize, long limitSize) {
        this(name, definedSize, limitSize, HttpConstants.DEFAULT_CHARSET);
    }

    public MixedAttribute(String name, long limitSize, Charset charset) {
        this(name, limitSize, charset, DiskAttribute.baseDirectory, DiskAttribute.deleteOnExitTemporaryFile);
    }

    public MixedAttribute(String name, long limitSize, Charset charset, String baseDir, boolean deleteOnExit) {
        this(name, 0, limitSize, charset, baseDir, deleteOnExit);
    }

    public MixedAttribute(String name, long definedSize, long limitSize, Charset charset) {
        this(name, definedSize, limitSize, charset,
                DiskAttribute.baseDirectory, DiskAttribute.deleteOnExitTemporaryFile);
    }

    public MixedAttribute(String name, long definedSize, long limitSize, Charset charset,
                          String baseDir, boolean deleteOnExit) {
        super(limitSize, baseDir, deleteOnExit,
                new MemoryAttribute(name, definedSize, charset));
    }

    public MixedAttribute(String name, String value, long limitSize) {
        this(name, value, limitSize, HttpConstants.DEFAULT_CHARSET,
                DiskAttribute.baseDirectory, DiskFileUpload.deleteOnExitTemporaryFile);
    }

    public MixedAttribute(String name, String value, long limitSize, Charset charset) {
        this(name, value, limitSize, charset,
                DiskAttribute.baseDirectory, DiskFileUpload.deleteOnExitTemporaryFile);
    }

    private static Attribute makeInitialAttributeFromValue(String name, String value, long limitSize, Charset charset,
                                                           String baseDir, boolean deleteOnExit) {
        if (value.length() > limitSize) {
            try {
                return new DiskAttribute(name, value, charset, baseDir, deleteOnExit);
            } catch (IOException e) {
                // revert to Memory mode
                try {
                    return new MemoryAttribute(name, value, charset);
                } catch (IOException ignore) {
                    throw new IllegalArgumentException(e);
                }
            }
        } else {
            try {
                return new MemoryAttribute(name, value, charset);
            } catch (IOException e) {
                throw new IllegalArgumentException(e);
            }
        }
    }

    public MixedAttribute(String name, String value, long limitSize, Charset charset,
                          String baseDir, boolean deleteOnExit) {
        super(limitSize, baseDir, deleteOnExit,
                makeInitialAttributeFromValue(name, value, limitSize, charset, baseDir, deleteOnExit));
    }

    @Override
    public String getValue() throws IOException {
        return wrapped.getValue();
    }

    @Override
    public void setValue(String value) throws IOException {
        wrapped.setValue(value);
    }

    @Override
    Attribute makeDiskData() {
        DiskAttribute diskAttribute = new DiskAttribute(getName(), definedLength(), baseDir, deleteOnExit);
        diskAttribute.setMaxSize(getMaxSize());
        return diskAttribute;

Frequently Asked Questions

What is the MixedAttribute class?
MixedAttribute is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java.
Where is MixedAttribute defined?
MixedAttribute is defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java at line 27.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free