package com.limegroup.gnutella.metadata; import java.util.List; import org.limewire.util.NameValue; import com.limegroup.gnutella.xml.LimeXMLDocument; /** * Wrapper for MetaData from a file. When marshalling meta-data from disk to * LimeXMLDocument and from a LimeXMLDocument to disk, the data gets wrapped * inside this Object. */ public interface MetaData { /** * @return the type of schema this metadata represents */ public String getSchemaURI(); /** * @return a NameValue list of all the current data for this schema */ public List<NameValue<String>> toNameValueList(); /** * Fills in the saved metadata from reading the LimeXMLDocument. * * @param doc a LimeXMLDocument that is used to populate the MetaData when * it needs to be written out to disk */ public void populate(LimeXMLDocument doc); }