AbstractDiskHttpData Class — netty Architecture
Architecture documentation for the AbstractDiskHttpData class in AbstractDiskHttpData.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a3bc8afe_67a4_7958_deb1_2411299eac70["AbstractDiskHttpData"] 1a9b6d6e_aad2_aca9_d7ef_78aa077c0358["AbstractDiskHttpData.java"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|defined in| 1a9b6d6e_aad2_aca9_d7ef_78aa077c0358 fa61ba4d_d42f_1228_6ef0_a454edc224b4["AbstractDiskHttpData()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| fa61ba4d_d42f_1228_6ef0_a454edc224b4 78c06a73_91a2_18dc_5e35_86d66dbb0749["String()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 78c06a73_91a2_18dc_5e35_86d66dbb0749 379b8a0e_e1ff_f98b_3d1e_188178e6798b["deleteOnExit()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 379b8a0e_e1ff_f98b_3d1e_188178e6798b 2d07ac4f_b182_ee80_1a15_fd71af4af43b["File()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 2d07ac4f_b182_ee80_1a15_fd71af4af43b e668b0b0_6774_61ad_8797_72bf509862df["setContent()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| e668b0b0_6774_61ad_8797_72bf509862df ca0a2f7b_500d_bf2d_b3d5_ab79c81f8f40["addContent()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| ca0a2f7b_500d_bf2d_b3d5_ab79c81f8f40 46199fd2_039c_9b4c_57d1_951bf7c4093f["delete()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 46199fd2_039c_9b4c_57d1_951bf7c4093f 0b383c44_ee98_923d_9548_a2b7f6fa16ca["get()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 0b383c44_ee98_923d_9548_a2b7f6fa16ca dd334ef0_bddc_96a8_e369_3a4165595501["ByteBuf()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| dd334ef0_bddc_96a8_e369_3a4165595501 8cd34bf9_f1bf_490c_9671_729e1aa4606a["isInMemory()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 8cd34bf9_f1bf_490c_9671_729e1aa4606a 9eb75892_964e_3341_39bd_32cf59246e12["renameTo()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| 9eb75892_964e_3341_39bd_32cf59246e12 f2399ca6_0b67_2eda_ec85_f7894af89210["readFrom()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| f2399ca6_0b67_2eda_ec85_f7894af89210 b43729b3_d44c_d6c1_2e21_3eae8c1fbe86["HttpData()"] a3bc8afe_67a4_7958_deb1_2411299eac70 -->|method| b43729b3_d44c_d6c1_2e21_3eae8c1fbe86
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java lines 40–484
public abstract class AbstractDiskHttpData extends AbstractHttpData {
private static final InternalLogger logger = InternalLoggerFactory.getInstance(AbstractDiskHttpData.class);
private File file;
private boolean isRenamed;
private FileChannel fileChannel;
protected AbstractDiskHttpData(String name, Charset charset, long size) {
super(name, charset, size);
}
/**
*
* @return the real DiskFilename (basename)
*/
protected abstract String getDiskFilename();
/**
*
* @return the default prefix
*/
protected abstract String getPrefix();
/**
*
* @return the default base Directory
*/
protected abstract String getBaseDirectory();
/**
*
* @return the default postfix
*/
protected abstract String getPostfix();
/**
*
* @return True if the file should be deleted on Exit by default
*/
protected abstract boolean deleteOnExit();
/**
* @return a new Temp File from getDiskFilename(), default prefix, postfix and baseDirectory
*/
private File tempFile() throws IOException {
String newpostfix;
String diskFilename = getDiskFilename();
if (diskFilename != null) {
newpostfix = '_' + Integer.toString(diskFilename.hashCode());
} else {
newpostfix = getPostfix();
}
File tmpFile;
if (getBaseDirectory() == null) {
// create a temporary file
tmpFile = PlatformDependent.createTempFile(getPrefix(), newpostfix, null);
} else {
tmpFile = PlatformDependent.createTempFile(getPrefix(), newpostfix, new File(
getBaseDirectory()));
}
if (deleteOnExit()) {
// See https://github.com/netty/netty/issues/10351
DeleteFileOnExitHook.add(tmpFile.getPath());
}
return tmpFile;
}
@Override
public void setContent(ByteBuf buffer) throws IOException {
ObjectUtil.checkNotNull(buffer, "buffer");
try {
size = buffer.readableBytes();
checkSize(size);
if (definedSize > 0 && definedSize < size) {
throw new IOException("Out of size: " + size + " > " + definedSize);
}
if (file == null) {
file = tempFile();
}
if (buffer.readableBytes() == 0) {
// empty file
if (!file.createNewFile()) {
if (file.length() == 0) {
return;
Source
Frequently Asked Questions
What is the AbstractDiskHttpData class?
AbstractDiskHttpData is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java.
Where is AbstractDiskHttpData defined?
AbstractDiskHttpData is defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java at line 40.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free