Mercurial > cgi-bin > hgweb.cgi > JpegWasher
annotate lib/mod/src/de/masters_of_disaster/ant/tasks/ar/ArEntry.java @ 33:3d86f0391168
Work on improving the build system.
author | David Barts <davidb@stashtea.com> |
---|---|
date | Fri, 24 Apr 2020 19:45:57 -0700 |
parents | |
children |
rev | line source |
---|---|
33
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
1 package de.masters_of_disaster.ant.tasks.ar; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
2 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
3 import java.io.File; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
4 import java.util.Date; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
5 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
6 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
7 * This class represents an entry in an Ar archive. It consists |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
8 * of the entry's header, as well as the entry's File. Entries |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
9 * can be instantiated in one of three ways, depending on how |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
10 * they are to be used. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
11 * <p> |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
12 * ArEntries that are created from the header bytes read from |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
13 * an archive are instantiated with the ArEntry( byte[] ) |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
14 * constructor. These entries will be used when extracting from |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
15 * or listing the contents of an archive. These entries have their |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
16 * header filled in using the header bytes. They also set the File |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
17 * to null, since they reference an archive entry not a file. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
18 * <p> |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
19 * ArEntries that are created from Files that are to be written |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
20 * into an archive are instantiated with the ArEntry( File ) |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
21 * constructor. These entries have their header filled in using |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
22 * the File's information. They also keep a reference to the File |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
23 * for convenience when writing entries. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
24 * <p> |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
25 * Finally, ArEntries can be constructed from nothing but a name. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
26 * This allows the programmer to construct the entry by hand, for |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
27 * instance when only an InputStream is available for writing to |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
28 * the archive, and the header information is constructed from |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
29 * other information. In this case the header fields are set to |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
30 * defaults and the File is set to null. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
31 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
32 * <p> |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
33 * The C structure for an Ar Entry's header is: |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
34 * <pre> |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
35 * struct header { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
36 * char filename[16]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
37 * char filedate[12]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
38 * char uid[6]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
39 * char gid[6]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
40 * char mode[8]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
41 * char size[10]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
42 * char magic[2]; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
43 * } header; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
44 * </pre> |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
45 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
46 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
47 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
48 public class ArEntry implements ArConstants { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
49 /** The entry's filename. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
50 private StringBuffer filename; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
51 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
52 /** The entry's file date. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
53 private long fileDate; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
54 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
55 /** The entry's user id. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
56 private int userId; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
57 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
58 /** The entry's group id. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
59 private int groupId; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
60 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
61 /** The entry's permission mode. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
62 private int mode; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
63 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
64 /** The entry's size. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
65 private long size; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
66 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
67 /** The entry's magic tag. */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
68 private StringBuffer magic; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
69 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
70 /** The entry's file reference */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
71 private File file; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
72 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
73 /** Default permissions bits for files */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
74 public static final int DEFAULT_FILE_MODE = 0100644; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
75 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
76 /** Convert millis to seconds */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
77 public static final int MILLIS_PER_SECOND = 1000; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
78 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
79 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
80 * Construct an empty entry and prepares the header values. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
81 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
82 private ArEntry () { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
83 this.magic = new StringBuffer(HEADERMAGIC); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
84 this.filename = new StringBuffer(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
85 this.userId = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
86 this.groupId = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
87 this.file = null; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
88 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
89 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
90 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
91 * Construct an entry with only a name. This allows the programmer |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
92 * to construct the entry's header "by hand". File is set to null. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
93 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
94 * @param name the entry name |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
95 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
96 public ArEntry(String name) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
97 this(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
98 if (name.endsWith("/")) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
99 throw new IllegalArgumentException("ar archives can only contain files"); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
100 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
101 this.filename = new StringBuffer(name); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
102 this.mode = DEFAULT_FILE_MODE; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
103 this.userId = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
104 this.groupId = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
105 this.size = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
106 this.fileDate = (new Date()).getTime() / MILLIS_PER_SECOND; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
107 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
108 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
109 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
110 * Construct an entry for a file. File is set to file, and the |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
111 * header is constructed from information from the file. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
112 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
113 * @param file The file that the entry represents. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
114 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
115 public ArEntry(File file) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
116 this(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
117 if (file.isDirectory()) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
118 throw new IllegalArgumentException("ar archives can only contain files"); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
119 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
120 this.file = file; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
121 this.filename = new StringBuffer(file.getName()); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
122 this.fileDate = file.lastModified() / MILLIS_PER_SECOND; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
123 this.mode = DEFAULT_FILE_MODE; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
124 this.size = file.length(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
125 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
126 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
127 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
128 * Construct an entry from an archive's header bytes. File is set |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
129 * to null. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
130 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
131 * @param headerBuf The header bytes from an ar archive entry. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
132 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
133 public ArEntry(byte[] headerBuf) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
134 this(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
135 this.parseArHeader(headerBuf); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
136 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
137 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
138 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
139 * Determine if the two entries are equal. Equality is determined |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
140 * by the header names being equal. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
141 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
142 * @param it Entry to be checked for equality. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
143 * @return True if the entries are equal. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
144 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
145 public boolean equals(ArEntry it) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
146 return this.getFilename().equals(it.getFilename()); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
147 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
148 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
149 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
150 * Determine if the two entries are equal. Equality is determined |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
151 * by the header names being equal. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
152 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
153 * @param it Entry to be checked for equality. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
154 * @return True if the entries are equal. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
155 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
156 public boolean equals(Object it) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
157 if (it == null || getClass() != it.getClass()) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
158 return false; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
159 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
160 return equals((ArEntry) it); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
161 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
162 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
163 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
164 * Hashcodes are based on entry names. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
165 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
166 * @return the entry hashcode |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
167 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
168 public int hashCode() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
169 return getFilename().hashCode(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
170 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
171 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
172 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
173 * Get this entry's name. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
174 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
175 * @return This entry's name. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
176 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
177 public String getFilename() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
178 return this.filename.toString(); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
179 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
180 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
181 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
182 * Set this entry's name. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
183 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
184 * @param name This entry's new name. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
185 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
186 public void setFilename(String filename) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
187 this.filename = new StringBuffer(filename); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
188 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
189 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
190 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
191 * Set the mode for this entry |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
192 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
193 * @param mode the mode for this entry |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
194 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
195 public void setMode(int mode) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
196 this.mode = mode; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
197 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
198 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
199 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
200 * Get this entry's user id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
201 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
202 * @return This entry's user id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
203 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
204 public int getUserId() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
205 return this.userId; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
206 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
207 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
208 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
209 * Set this entry's user id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
210 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
211 * @param userId This entry's new user id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
212 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
213 public void setUserId(int userId) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
214 this.userId = userId; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
215 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
216 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
217 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
218 * Get this entry's group id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
219 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
220 * @return This entry's group id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
221 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
222 public int getGroupId() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
223 return this.groupId; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
224 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
225 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
226 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
227 * Set this entry's group id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
228 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
229 * @param groupId This entry's new group id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
230 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
231 public void setGroupId(int groupId) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
232 this.groupId = groupId; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
233 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
234 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
235 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
236 * Convenience method to set this entry's group and user ids. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
237 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
238 * @param userId This entry's new user id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
239 * @param groupId This entry's new group id. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
240 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
241 public void setIds(int userId, int groupId) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
242 this.setUserId(userId); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
243 this.setGroupId(groupId); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
244 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
245 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
246 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
247 * Set this entry's modification time. The parameter passed |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
248 * to this method is in "Java time". |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
249 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
250 * @param time This entry's new modification time. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
251 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
252 public void setFileDate(long time) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
253 this.fileDate = time / MILLIS_PER_SECOND; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
254 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
255 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
256 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
257 * Set this entry's modification time. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
258 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
259 * @param time This entry's new modification time. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
260 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
261 public void setFileDate(Date time) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
262 this.fileDate = time.getTime() / MILLIS_PER_SECOND; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
263 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
264 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
265 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
266 * Get this entry's modification time. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
267 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
268 * @return time This entry's new modification time. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
269 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
270 public Date getFileDate() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
271 return new Date(this.fileDate * MILLIS_PER_SECOND); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
272 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
273 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
274 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
275 * Get this entry's file. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
276 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
277 * @return This entry's file. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
278 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
279 public File getFile() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
280 return this.file; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
281 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
282 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
283 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
284 * Get this entry's mode. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
285 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
286 * @return This entry's mode. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
287 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
288 public int getMode() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
289 return this.mode; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
290 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
291 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
292 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
293 * Get this entry's file size. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
294 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
295 * @return This entry's file size. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
296 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
297 public long getSize() { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
298 return this.size; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
299 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
300 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
301 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
302 * Set this entry's file size. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
303 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
304 * @param size This entry's new file size. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
305 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
306 public void setSize(long size) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
307 this.size = size; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
308 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
309 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
310 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
311 * Write an entry's header information to a header buffer. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
312 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
313 * @param outbuf The tar entry header buffer to fill in. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
314 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
315 public void writeEntryHeader(byte[] outbuf) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
316 int offset = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
317 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
318 offset = ArUtils.getNameBytes(this.filename, outbuf, offset, NAMELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
319 offset = ArUtils.getLongBytes(this.fileDate, outbuf, offset, FILEDATELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
320 offset = ArUtils.getIntegerBytes(this.userId, outbuf, offset, UIDLEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
321 offset = ArUtils.getIntegerBytes(this.groupId, outbuf, offset, GIDLEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
322 offset = ArUtils.getOctalBytes(this.mode, outbuf, offset, MODELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
323 offset = ArUtils.getLongBytes(this.size, outbuf, offset, SIZELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
324 offset = ArUtils.getNameBytes(this.magic, outbuf, offset, MAGICLEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
325 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
326 while (offset < outbuf.length) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
327 outbuf[offset++] = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
328 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
329 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
330 |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
331 /** |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
332 * Parse an entry's header information from a header buffer. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
333 * |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
334 * @param header The ar entry header buffer to get information from. |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
335 */ |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
336 public void parseArHeader(byte[] header) { |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
337 throw new UnsupportedOperationException("parseArHeader(byte[]) not yet implmented"); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
338 // int offset = 0; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
339 // |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
340 // this.filename = TarUtils.parseName(header, offset, NAMELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
341 // offset += NAMELEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
342 // this.fileDate = TarUtils.parseOctal(header, offset, FILEDATELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
343 // offset += FILEDATELEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
344 // this.userId = (int) TarUtils.parseOctal(header, offset, UIDLEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
345 // offset += UIDLEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
346 // this.groupId = (int) TarUtils.parseOctal(header, offset, GIDLEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
347 // offset += GIDLEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
348 // this.mode = (int) TarUtils.parseOctal(header, offset, MODELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
349 // offset += MODELEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
350 // this.size = TarUtils.parseOctal(header, offset, SIZELEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
351 // offset += SIZELEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
352 // this.magic = TarUtils.parseName(header, offset, MAGICLEN); |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
353 // offset += MAGICLEN; |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
354 } |
3d86f0391168
Work on improving the build system.
David Barts <davidb@stashtea.com>
parents:
diff
changeset
|
355 } |