Dirent.java

  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.  * Directory entry.
  22.  */
  23. final class Dirent {
  24.     private final int ino;
  25.     private final int parentIno;
  26.     private final int type;
  27.     private final String name;

  28.     /**
  29.      * Constructor
  30.      *
  31.      * @param ino
  32.      * @param parentIno
  33.      * @param type
  34.      * @param name
  35.      */
  36.     Dirent(final int ino, final int parentIno, final int type, final String name) {
  37.         this.ino = ino;
  38.         this.parentIno = parentIno;
  39.         this.type = type;
  40.         this.name = name;
  41.     }

  42.     /**
  43.      * Gets ino.
  44.      *
  45.      * @return the i-node
  46.      */
  47.     int getIno() {
  48.         return ino;
  49.     }

  50.     /**
  51.      * Gets name of directory entry.
  52.      *
  53.      * <p>
  54.      * This method returns the raw name as it is stored inside of the archive.
  55.      * </p>
  56.      *
  57.      * @return the directory name
  58.      */
  59.     String getName() {
  60.         return name;
  61.     }

  62.     /**
  63.      * Gets ino of parent directory.
  64.      *
  65.      * @return the parent i-node
  66.      */
  67.     int getParentIno() {
  68.         return parentIno;
  69.     }

  70.     /**
  71.      * Gets entry type.
  72.      *
  73.      * @return the entry type
  74.      */
  75.     int getType() {
  76.         return type;
  77.     }

  78.     /**
  79.      * @see Object#toString()
  80.      */
  81.     @Override
  82.     public String toString() {
  83.         return String.format("[%d]: %s", ino, name);
  84.     }
  85. }