001/*- 002 ******************************************************************************* 003 * Copyright (c) 2011, 2016 Diamond Light Source Ltd. 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Peter Chang - initial API and implementation and/or initial documentation 011 *******************************************************************************/ 012 013package org.eclipse.january.metadata; 014 015 016import java.io.File; 017import java.util.Date; 018 019/** 020 * This is an interface that has been designed to add information about a file in addition to 021 * information which has been implemented in IMetadata. 022 * <p> 023 * It is intended that implementations of this interface will be through an adapter 024 */ 025public interface IExtendedMetadata extends IMetadata { 026 027 /** 028 * Initialize with a file 029 * @param f file 030 */ 031 public void initialize(File f); 032 033 /** 034 * This should be the timestamp of when the experiment or measurement took place which should 035 * be recorded in the header of the file, if applicable 036 * 037 * @return a date object to represent when the data was created 038 */ 039 public Date getCreation(); 040 041 /** 042 * @return a date object that indicated when the data was last modified 043 */ 044 public Date getLastModified(); 045 046 /** 047 * @return a string representing the user who created the file 048 */ 049 public String getCreator(); 050 051 /** 052 * @return a string containing the filename 053 */ 054 public String getFileName(); 055 056 /** 057 * @return the owner of the file 058 */ 059 public String getFileOwner(); 060 061 /** 062 * @return a long representing the size of the file in bytes 063 */ 064 public long getFileSize(); 065 066 /** 067 * @return the full path string of the file 068 */ 069 public String getFullPath(); 070 071 /** 072 * @return The scan command as a string that was used to generate the data. This can be null as not always 073 * applicable 074 */ 075 public String getScanCommand(); 076 077}