package org.dcache.pinmanager; import java.util.Date; import java.util.EnumSet; import java.util.Set; import diskCacheV111.util.PnfsId; import diskCacheV111.vehicles.Message; import org.dcache.namespace.FileAttribute; import org.dcache.vehicles.FileAttributes; import static com.google.common.base.Preconditions.checkNotNull; import static org.dcache.namespace.FileAttribute.PNFSID; public class PinManagerExtendPinMessage extends Message { private static final long serialVersionUID = 4239204053634579521L; private final FileAttributes _fileAttributes; private final long _pinId; private long _lifetime; private Date _expirationTime; public PinManagerExtendPinMessage(FileAttributes fileAttributes, long pinId, long lifetime) { checkNotNull(fileAttributes); _fileAttributes = fileAttributes; _pinId = pinId; _lifetime = lifetime; } public long getPinId() { return _pinId; } public PnfsId getPnfsId() { return _fileAttributes.getPnfsId(); } public FileAttributes getFileAttributes() { return _fileAttributes; } public void setLifetime(long lifetime) { _lifetime = lifetime; } public long getLifetime() { return _lifetime; } public void setExpirationTime(Date expirationTime) { _expirationTime = expirationTime; } public Date getExpirationTime() { return _expirationTime; } @Override public String toString() { return "PinManagerExtendPinMessage[" + _pinId + "," + _fileAttributes + "," + _lifetime + "]"; } public static Set<FileAttribute> getRequiredAttributes() { return EnumSet.of(PNFSID); } }