package diskCacheV111.vehicles; import javax.annotation.Nonnull; import java.util.EnumSet; import diskCacheV111.poolManager.RequestContainerV5; import org.dcache.pool.assumption.Assumption; import org.dcache.pool.assumption.Assumptions; import org.dcache.vehicles.FileAttributes; import static com.google.common.base.Preconditions.checkNotNull; public class PoolMgrSelectPoolMsg extends PoolMgrGetPoolMsg { private static final long serialVersionUID = -5874326080375390208L; private ProtocolInfo _protocolInfo; private String _ioQueueName; private String _pnfsPath; private String _linkGroup; private final EnumSet<RequestContainerV5.RequestState> _allowedStates; private String _transferPath; private Assumption _assumption; public PoolMgrSelectPoolMsg(FileAttributes fileAttributes, ProtocolInfo protocolInfo) { this(fileAttributes, protocolInfo, RequestContainerV5.allStates); } public PoolMgrSelectPoolMsg(FileAttributes fileAttributes, ProtocolInfo protocolInfo, EnumSet<RequestContainerV5.RequestState> allowedStates) { super(fileAttributes); _protocolInfo = checkNotNull(protocolInfo); _allowedStates = checkNotNull(allowedStates); } public void setAssumption(Assumption assumption) { _assumption = assumption; } public Assumption getAssumption() { return _assumption == null ? Assumptions.none() : _assumption; } @Nonnull public ProtocolInfo getProtocolInfo(){ return _protocolInfo; } public void setProtocolInfo( ProtocolInfo protocolInfo ){ _protocolInfo = checkNotNull(protocolInfo); } public void setIoQueueName( String ioQueueName ){ _ioQueueName = ioQueueName ; } public String getIoQueueName(){ return _ioQueueName ; } public String getBillingPath() { return _pnfsPath; } public void setBillingPath(String pnfsPath) { _pnfsPath = pnfsPath; } public String getTransferPath() { return _transferPath != null ? _transferPath : getBillingPath(); } public void setTransferPath(String path) { _transferPath = path; } public void setLinkGroup(String linkGroup) { _linkGroup = linkGroup; } public String getLinkGroup() { return _linkGroup; } @Nonnull public EnumSet<RequestContainerV5.RequestState> getAllowedStates() { return _allowedStates; } }