All Downloads are FREE. Search and download functionalities are using the official Maven repository.

oshi.hardware.LogicalVolumeGroup Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2021-2022 The OSHI Project Contributors
 * SPDX-License-Identifier: MIT
 */
package oshi.hardware;

import java.util.Map;
import java.util.Set;

import oshi.annotation.concurrent.Immutable;

/**
 * A logical volume group implemented as part of logical volume management, combining the space on one or more storage
 * devices such as disks or partitions (physical volumes) into a storage pool, and subsequently allocating that space to
 * virtual partitions (logical volumes) as block devices accessible to the file system.
 */
@Immutable
public interface LogicalVolumeGroup {
    /**
     * Gets the logical volume group name.
     *
     * @return The name of the logical volume group.
     */
    String getName();

    /**
     * Gets a set of all physical volumes in this volume group.
     *
     * @return A set with the names of the physical volumes.
     */
    Set getPhysicalVolumes();

    /**
     * Gets a map containing information about the logical volumes in the logical volume group, represented to the file
     * system as block devices. The keyset for the map represents a collection of the logical volumes, while the values
     * associated with these keys represent the physical volumes mapped to each logical volume (if known).
     *
     * @return A map with the logical volume names as the key, and a set of associated physical volume names as the
     *         value.
     */
    Map> getLogicalVolumes();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy