package edu.harvard.med.screensaver.model; import java.util.SortedSet; import org.joda.time.DateTime; import org.joda.time.LocalDate; import edu.harvard.med.screensaver.model.activities.AdministrativeActivity; import edu.harvard.med.screensaver.model.activities.AdministrativeActivityType; import edu.harvard.med.screensaver.model.libraries.Reagent; import edu.harvard.med.screensaver.model.screens.Screen; import edu.harvard.med.screensaver.model.users.ScreeningRoomUser; import edu.harvard.med.screensaver.model.users.ScreensaverUser; import edu.harvard.med.screensaver.policy.EntityViewPolicy; public class DownloadRestrictedAttachedFile extends AttachedFile { private AttachedFile _delegate; public DownloadRestrictedAttachedFile(AttachedFile entity) { _delegate = entity; } @Override public byte[] getFileContents() { return null; // NOTE: returning null here, as expected; however, attachedFiles.xhtml will check the "isRestricted" flag, because the contents aren't available unless hibernate-managed (LOB type) } @Override public int compareTo(AttachedFile other) { return _delegate.compareTo(other); } @Override public boolean equals(Object obj) { return _delegate.equals(obj); } @Override public Integer getAttachedFileId() { return _delegate.getAttachedFileId(); } @Override public ScreensaverUser getCreatedBy() { return _delegate.getCreatedBy(); } @Override public DateTime getDateCreated() { return _delegate.getDateCreated(); } @Override public Integer getEntityId() { return _delegate.getEntityId(); } @Override public EntityViewPolicy getEntityViewPolicy() { return _delegate.getEntityViewPolicy(); } @Override public LocalDate getFileDate() { return _delegate.getFileDate(); } @Override public String getFilename() { return _delegate.getFilename(); } @Override public AttachedFileType getFileType() { return _delegate.getFileType(); } @Override public AdministrativeActivity getLastRecordedUpdateActivityOfType(AdministrativeActivityType activityType) { return _delegate.getLastRecordedUpdateActivityOfType(activityType); } @Override public AdministrativeActivity getLastUpdateActivityOfType(AdministrativeActivityType activityType) { return _delegate.getLastUpdateActivityOfType(activityType); } @Override public <P> P getPropertyValue(String propertyName, Class<P> propertyType) { return _delegate.getPropertyValue(propertyName, propertyType); } @Override public Reagent getReagent() { return _delegate.getReagent(); } @Override public Screen getScreen() { return _delegate.getScreen(); } @Override public ScreeningRoomUser getScreeningRoomUser() { return _delegate.getScreeningRoomUser(); } @Override public SortedSet<AdministrativeActivity> getUpdateActivities() { return _delegate.getUpdateActivities(); } @Override public SortedSet<AdministrativeActivity> getUpdateActivitiesOfType(AdministrativeActivityType activityType) { return _delegate.getUpdateActivitiesOfType(activityType); } @Override public boolean isEquivalent(AbstractEntity that) { return _delegate.isEquivalent(that); } @Override public boolean isRestricted() { return true; } @Override public void setEntityViewPolicy(EntityViewPolicy<Entity> entityViewPolicy) { _delegate.setEntityViewPolicy(entityViewPolicy); } @Override public String toString() { return _delegate.toString(); } }