76 lines
1.8 KiB
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();
|
|
|
|
}
|