hadoop SnapshotInfo 源码

  • 2022-10-20
  • 浏览 (257)

haddop SnapshotInfo 代码

文件路径:/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/SnapshotInfo.java

/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.hadoop.hdfs.protocol;

import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.hdfs.protocol.proto.AclProtos.FsPermissionProto;

/**
 * SnapshotInfo maintains information for a snapshot
 */
@InterfaceAudience.Private
@InterfaceStability.Evolving
public class SnapshotInfo {
  private final String snapshotName;
  private final String snapshotRoot;
  private final String createTime;
  private final FsPermissionProto permission;
  private final String owner;
  private final String group;

  public SnapshotInfo(String sname, String sroot, String ctime,
      FsPermissionProto permission, String owner, String group) {
    this.snapshotName = sname;
    this.snapshotRoot = sroot;
    this.createTime = ctime;
    this.permission = permission;
    this.owner = owner;
    this.group = group;
  }

  final public String getSnapshotName() {
    return snapshotName;
  }

  final public String getSnapshotRoot() {
    return snapshotRoot;
  }

  final public String getCreateTime() {
    return createTime;
  }
  
  final public FsPermissionProto getPermission() {
    return permission;
  }
  
  final public String getOwner() {
    return owner;
  }
  
  final public String getGroup() {
    return group;
  }
  
  @Override
  public String toString() {
    return getClass().getSimpleName()
        + "{snapshotName=" + snapshotName
        + "; snapshotRoot=" + snapshotRoot
        + "; createTime=" + createTime
        + "; permission=" + permission
        + "; owner=" + owner
        + "; group=" + group
        + "}";
  }

  public static class Bean {
    private final int snapshotID;
    private final String snapshotDirectory;
    private final long modificationTime;
    private final String status;

    public Bean(int snapshotID, String snapshotDirectory,
        long modificationTime, boolean isMarkedAsDeleted) {
      this.snapshotID = snapshotID;
      this.snapshotDirectory = snapshotDirectory;
      this.modificationTime = modificationTime;
      this.status = isMarkedAsDeleted ? "DELETED" : "ACTIVE";
    }

    public int getSnapshotID() {
      return snapshotID;
    }

    public String getSnapshotDirectory() {
      return snapshotDirectory;
    }

    public long getModificationTime() {
      return modificationTime;
    }

    public String getStatus() {
      return status;
    }
  }
}

相关信息

hadoop 源码目录

相关文章

hadoop BlockListAsLongs 源码

hadoop CacheDirective 源码

hadoop FSLimitException 源码

hadoop LayoutFlags 源码

hadoop LayoutVersion 源码

hadoop RecoveryInProgressException 源码

hadoop RollingUpgradeException 源码

hadoop SnapshotException 源码

hadoop UnregisteredNodeException 源码

0  赞