com.day.cq.dam.scene7.api.model.Scene7Asset Maven / Gradle / Ivy
/*************************************************************************
*
* ADOBE CONFIDENTIAL
* ___________________
*
* Copyright 2012 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
**************************************************************************/
package com.day.cq.dam.scene7.api.model;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;
import aQute.bnd.annotation.ProviderType;
import com.day.cq.dam.scene7.api.constants.Scene7AssetType;
/**
* Abstraction of a Scene7 Asset
*/
@ProviderType
public interface Scene7Asset extends Serializable {
/**
* Get the type of this asset
*
* @return A Scene7AssetType
identifying this asset type
*/
public abstract Scene7AssetType getAssetType();
/**
* Get the asset type as read from Scene7
*
* @return A String
object containing the actual Scene7 type string
*/
public abstract String getAssetTypeStr();
/**
* Get the asset's subtype string from Scene7 (if appliable)
*
* @return A String
object containing the Scene7 subtype string
*/
public abstract String getAssetSubTypeStr();
/**
* Get the name of this asset
*
* @return String
object containing the asset's name
*/
public abstract String getName();
/**
* Get this asset handle
*
* @return String
object with this asset's handle
*/
public abstract String getAssetHandle();
/**
* Get the file name where the asset is stored
*
* @return String
containing the file name of the asset
*/
public abstract String getFileName();
/**
* Get the folder where this asset is stored
*
* @return String
containing the folder path of the asset
*/
public abstract String getFolder();
/**
* Get the Scene7 folder handle of the folder containing this asset
*
* @return String
object containing a Scene7 folder handle
*/
public abstract String getFolderHandle();
/**
* Get the user that created this asset
*
* @return String
object containing the username of the user that created this asset
*/
public abstract String getCreatedBy();
/**
* Get the user that last modified this asset
*
* @return String
object containing the username of the user that last modified this asset
*/
public abstract String getModifiedBy();
/**
* Get the creation date of this asset
*
* @return Date
object with the creation time of the asset
*/
public abstract Date getCreatedDate();
/**
* Get the last modified date of this asset
*
* @return Date
object with the time the asset was last modified
*/
public abstract Date getModifiedDate();
/**
* Get the original file uploaded to Scene7 for this asset
*
* @return String
object containing the original file of this asset
*/
public abstract String getOriginalFile();
/**
* Get the original path of the file uploaded to Scene7 for this asset
*
* @return String
object containing the original path for this asset
*/
public abstract String getOriginalPath();
/**
* Get the list of this asset's sub-assets
*
* @return a List
with the Scene7Asset
assets linked to this asset
*/
public abstract List getSubAssets();
/**
* Adds a new sub-asset to the current asset
*
* @param subAsset
* a Scene7Asset
object to be added as a sub-asset of the current asset
*/
public abstract void addSubAsset(Scene7Asset subAsset);
/**
* Gets the originator asset for this asset Should only return a valid asset if the current asset was generated from another uploaded
* asset (e.g. a Template asset is usually generated after importing a PSD into Scene7; the original uploaded PSD will be the Template
* asset's originator)
*
* @return a Scene7Asset
object holding this asset's originator asset
*/
public abstract Scene7Asset getOriginatorAsset();
/**
* Updates the originator asset of the current asset
*
* @param originator
* the new Scene7Asset
originator of the current asset
*/
public abstract void updateOriginatorAsset(Scene7Asset originator);
/**
* Get the width of this asset
*
* @return a Long
object containing the width of this asset
*/
public abstract Long getWidth();
/**
* Get the height of this asset
*
* @return a Long
object containing the height of this asset
*/
public abstract Long getHeight();
/**
* Get the url modified of this asset
*
* @return a String
object containing the url modifier of this asset
*/
public abstract String getUrlModifier();
/**
* Get the viewer preset type of this asset
*
* @return a String
object containing the viewer preset type
*/
public abstract String getViewerPresetType();
/**
* Get a map containing the viewer preset configuration for this asset
*
* @return a Map
that store the name-value pairs found in the viewer preset configuration of the asset
*/
public abstract Map getViewerPresetConfigurationSettings();
/**
* Returns the root folder or an empty String
if no folder is specified for this asset.
*
* @return path to Root folder
*/
public abstract String getRootFolder();
/**
* Gets the publish status of this asset
*
* @return a Boolean
indicating if this asset is published or not
*/
public abstract boolean isPublished();
/**
* Gets the size in bytes of the file where the asset is stored
*
* @return an Integer
containing the file size
*/
public abstract Integer getFileSize();
/**
* Gets the video encoding preset id for this asset, if this is a video scene7 asset
*
* @return a String
containing the video encoding preset for a video scene7 asset
*/
public abstract String getVideoEncodingPresetId();
public abstract Map getAssetProperties();
/**
* Gets the Scene7SmartCrop
object (if exists) associated with
* this asset
*
* @return Scene7SmartCrop
object
*/
public abstract Scene7SmartCrop getSmartCrop();
}