1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.commons.compress.archivers.dump;
20
21 /**
22 * Directory entry.
23 */
24 final class Dirent {
25 private final int ino;
26 private final int parentIno;
27 private final int type;
28 private final String name;
29
30 /**
31 * Constructor
32 *
33 * @param ino
34 * @param parentIno
35 * @param type
36 * @param name
37 */
38 Dirent(final int ino, final int parentIno, final int type, final String name) {
39 this.ino = ino;
40 this.parentIno = parentIno;
41 this.type = type;
42 this.name = name;
43 }
44
45 /**
46 * Gets ino.
47 *
48 * @return the i-node
49 */
50 int getIno() {
51 return ino;
52 }
53
54 /**
55 * Gets name of directory entry.
56 *
57 * <p>
58 * This method returns the raw name as it is stored inside of the archive.
59 * </p>
60 *
61 * @return the directory name
62 */
63 String getName() {
64 return name;
65 }
66
67 /**
68 * Gets ino of parent directory.
69 *
70 * @return the parent i-node
71 */
72 int getParentIno() {
73 return parentIno;
74 }
75
76 /**
77 * Gets entry type.
78 *
79 * @return the entry type
80 */
81 int getType() {
82 return type;
83 }
84
85 /**
86 * @see Object#toString()
87 */
88 @Override
89 public String toString() {
90 return String.format("[%d]: %s", ino, name);
91 }
92 }