package org.dcache.poolmanager;
import com.google.common.base.MoreObjects;
import diskCacheV111.poolManager.PoolSelectionUnit.SelectionLinkGroup;
public class PoolLinkGroupInfo
{
private final String _groupName;
private final long _totalSpaceInBytes;
private final long _availableSpaceInBytes;
private final boolean _custodialAllowed;
private final boolean _replicaAllowed;
private final boolean _outputAllowed;
private final boolean _nearlineAllowed;
private final boolean _onlineAllowed;
public PoolLinkGroupInfo(SelectionLinkGroup linkGroup, long totalSpace, long availableSpace) {
_groupName = linkGroup.getName();
_availableSpaceInBytes = availableSpace;
_totalSpaceInBytes = totalSpace;
_custodialAllowed = linkGroup.isCustodialAllowed();
_replicaAllowed = linkGroup.isReplicaAllowed();
_outputAllowed = linkGroup.isOutputAllowed();
_nearlineAllowed = linkGroup.isNearlineAllowed();
_onlineAllowed = linkGroup.isOnlineAllowed();
}
/**
*
* @return the linkGroup name
*/
public String getName() {
return _groupName;
}
/**
*
* @return total space of all pools in the linkGroup in bytes
*/
public long getTotalSpace() {
return _totalSpaceInBytes;
}
/**
*
* @return available space of all pools in the linkGroup in bytes
*/
public long getAvailableSpaceInBytes() {
return _availableSpaceInBytes;
}
/**
*
* @return true if LinkGroup allows custodial files
*/
public boolean isCustodialAllowed() {
return _custodialAllowed;
}
/**
*
* @return true if LinkGroup allows output files
*/
public boolean isOutputAllowed() {
return _outputAllowed;
}
/**
*
* @return true if LinkGroup allows replica files
*/
public boolean isReplicaAllowed() {
return _replicaAllowed;
}
/**
*
* @return true if LinkGour allows online files
*/
public boolean isOnlineAllowed() {
return _onlineAllowed;
}
/**
*
* @return true if LinkGour allows nearline files
*/
public boolean isNearlineAllowed() {
return _nearlineAllowed;
}
@Override
public String toString()
{
return MoreObjects.toStringHelper(this)
.add("groupName", _groupName)
.add("totalSpace", _totalSpaceInBytes)
.add("availableSpace", _availableSpaceInBytes)
.add("custodial", _custodialAllowed)
.add("replica", _replicaAllowed)
.add("output", _outputAllowed)
.add("nearline", _nearlineAllowed)
.add("online", _onlineAllowed)
.toString();
}
}