aslcore/src/org/gcube/application/framework/core/content/DigitalObjectInfoI.java

76 lines
1.8 KiB
Java

package org.gcube.application.framework.core.content;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import org.gcube.metadatamanagement.mmlibrary.model.BaseMetadata;
/**
* @author Valia Tsagkalidou
*
*/
public interface DigitalObjectInfoI {
/**
* @return a Stream containing the object
*/
public OutputStream getObject();
/**
* @param name the name of the Object
* @param collectionName the name of the collection
* @return a Stream containing the object
*/
public OutputStream getObjectByName(String name, String collectionName);
/**
* @param width the maximum width of the thumbnail
* @param height the maximum height of the thumbnail
* @return a Stream containing the thumbnail
*/
public byte[] getThumbnail(int width, int height);
/**
* @return a hashmap containing the primary roles together with the corresponding Object Identifier of the related objects
*/
public HashMap<String,String> getPrimaryRoles();
/**
* @return a hashmap containing the secondary roles together with the corresponding Object Identifier of the related objects
*/
public HashMap<String,String> getSecondaryRoles();
/**
* @return the available metadata schemata of the corresponding object
*/
public List<String> getAvailableSchemata();
/**
* @return the metadata
*/
public String getMetadata(String schema);
/**
* @param metadata the metadata object to be updated
*/
public void updateMetadata(BaseMetadata metadata);
/**
* @return the object's Mime type
*/
public String getMimeType();
/**
* @return the object's length
*/
public long getLength();
/**
* @return the object's name
*/
public String getName();
}