Skip to content

Commit ff71c91

Browse files
#3 refactoring
1 parent e95d482 commit ff71c91

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

src/main/java/ru/olegcherednik/zip4jvm/io/out/entry/EntryMetadataOutputStream.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ public final class EntryMetadataOutputStream extends OutputStream {
4747
private static final String COMPRESSED_DATA =
4848
EntryMetadataOutputStream.class.getSimpleName() + ".entryCompressedDataOffs";
4949

50-
protected final ZipEntry zipEntry;
51-
private final Checksum checksum = new CRC32();
5250

51+
private final ZipEntry zipEntry;
5352
private final DataOutput out;
53+
private final Checksum checksum = new CRC32();
5454

5555
private long uncompressedSize;
5656

src/main/java/ru/olegcherednik/zip4jvm/io/out/entry/encrypted/EncryptedEntryOutputStream.java

+10-12
Original file line numberDiff line numberDiff line change
@@ -35,32 +35,30 @@
3535
public abstract class EncryptedEntryOutputStream extends OutputStream {
3636

3737
protected final ZipEntry zipEntry;
38-
protected final DataOutput out;
38+
private final DataOutput out;
3939
protected final EncoderDataOutput encoderDataOutput;
4040
protected final EntryMetadataOutputStream emos;
4141

42-
public static EncryptedEntryOutputStream create(ZipEntry zipEntry, DataOutput out) throws IOException {
42+
public static EncryptedEntryOutputStream create(ZipEntry zipEntry,
43+
DataOutput out,
44+
EncoderDataOutput encoderDataOutput) throws IOException {
4345
CompressionMethod compressionMethod = zipEntry.getCompressionMethod();
4446
zipEntry.setDiskNo(out.getDiskNo());
4547

4648
if (compressionMethod == CompressionMethod.STORE)
47-
return new StoreEntryOutputStream(zipEntry, out, createEncoderDataOutput(zipEntry, out));
49+
return new StoreEntryOutputStream(zipEntry, out, encoderDataOutput);
4850
if (compressionMethod == CompressionMethod.DEFLATE)
49-
return new DeflateEntryOutputStream(zipEntry, out, createEncoderDataOutput(zipEntry, out));
51+
return new DeflateEntryOutputStream(zipEntry, out, encoderDataOutput);
5052
if (compressionMethod == CompressionMethod.BZIP2)
51-
return new Bzip2EntryOutputStream(zipEntry, out, createEncoderDataOutput(zipEntry, out));
53+
return new Bzip2EntryOutputStream(zipEntry, out, encoderDataOutput);
5254
if (compressionMethod == CompressionMethod.LZMA)
53-
return new LzmaEntryOutputStream(zipEntry, out, createEncoderDataOutput(zipEntry, out));
55+
return new LzmaEntryOutputStream(zipEntry, out, encoderDataOutput);
5456
if (compressionMethod == CompressionMethod.ZSTD)
55-
return new ZstdEntryOutputStream(zipEntry, out, createEncoderDataOutput(zipEntry, out));
57+
return new ZstdEntryOutputStream(zipEntry, out, encoderDataOutput);
5658

5759
throw new Zip4jvmException("Compression '%s' is not supported", compressionMethod);
5860
}
5961

60-
private static EncoderDataOutput createEncoderDataOutput(ZipEntry zipEntry, DataOutput out) {
61-
return new EncoderDataOutput(zipEntry.createEncoder(), out);
62-
}
63-
6462
protected EncryptedEntryOutputStream(ZipEntry zipEntry, DataOutput out, EncoderDataOutput encoderDataOutput) {
6563
this.zipEntry = zipEntry;
6664
this.out = out;
@@ -94,6 +92,6 @@ public void close() throws IOException {
9492

9593
@Override
9694
public String toString() {
97-
return out.toString();
95+
return emos.toString();
9896
}
9997
}

src/main/java/ru/olegcherednik/zip4jvm/io/writers/ZipEntryWriter.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package ru.olegcherednik.zip4jvm.io.writers;
2020

2121
import ru.olegcherednik.zip4jvm.io.out.data.DataOutput;
22+
import ru.olegcherednik.zip4jvm.io.out.data.EncoderDataOutput;
2223
import ru.olegcherednik.zip4jvm.io.out.entry.encrypted.EncryptedEntryOutputStream;
2324
import ru.olegcherednik.zip4jvm.model.entry.ZipEntry;
2425
import ru.olegcherednik.zip4jvm.utils.ZipUtils;
@@ -39,7 +40,8 @@ public final class ZipEntryWriter implements Writer {
3940

4041
@Override
4142
public void write(DataOutput out) throws IOException {
42-
EncryptedEntryOutputStream eos = EncryptedEntryOutputStream.create(zipEntry, out);
43+
EncoderDataOutput encoderDataOutput = new EncoderDataOutput(zipEntry.createEncoder(), out);
44+
EncryptedEntryOutputStream eos = EncryptedEntryOutputStream.create(zipEntry, out, encoderDataOutput);
4345

4446
eos.writeLocalFileHeader();
4547
eos.writeEncryptionHeader();

0 commit comments

Comments
 (0)