com.fatwire.services.dao
Interface AssetDao

All Superinterfaces:
DataAccessObject

public interface AssetDao
extends DataAccessObject

The Asset Data Access Object is the interface providing access to asset and asset type related data.


Method Summary
 boolean delete(AssetId assetId)
          Deletes an asset.
 java.util.List<AssetId> delete(java.util.List<AssetId> assetIds)
          Deletes a list of assets identified by the asset identifiers in assetsToDelete.
 AssetTypeDef getDefinition(AssetId assetId)
           Returns the asset type definition object for a specified asset.
 AssetTypeDef getDefinition(TypeBean type)
           Returns the asset type definition object for a specified asset type.
 java.util.List<AssetId> getFlexDefinitions(java.lang.String assetType, long site)
           Returns the List of definition asset identifiers for the given Flex asset type and site.
 java.util.List<AssetId> getReferences(AssetId assetId)
          Returns a list of asset identifiers for all assets which reference a given asset.
 java.util.List<SiteBean> getSitesInWhichEnabled(java.lang.String assetType)
          Returns the list of sites for which the given asset type is enabled.
 java.util.List<SiteBean> getSitesInWhichShared(AssetId assetId)
          Returns the list of sites in which an asset is shared.
 java.util.List<TypeBean> getSubTypes(java.lang.String assetType, long site)
           Returns the List of subtypes for the given asset type and site.
 AssetData newAsset(AssetTypeDef assetTypeDef)
          Returns an empty asset data instance for a given asset type.
 AssetData read(AssetId assetId)
          Returns the data associated with an asset.
 AssetData read(AssetId assetId, java.util.List<java.lang.String> fields)
           Returns the data associated with an asset, retrieving only a subset of the available fields.
 java.util.List<AssetId> removeReferences(AssetId assetId, java.util.List<AssetId> references)
          Removes the references of an asset.
 AssetSaveStatusBean save(AssetData assetData)
          Saves the data associated with an asset.
 boolean share(AssetId assetId, java.util.List<java.lang.Long> sites)
          Shares an asset with all the sites in the specified list.
 
Methods inherited from interface com.fatwire.services.dao.DataAccessObject
getResponse, getService, setService
 

Method Detail

getDefinition

AssetTypeDef getDefinition(TypeBean type)
                           throws DataAccessException

Returns the asset type definition object for a specified asset type.

The asset type argument has the optional sub-type attribute which is optional for Assetmaker asset types and mandatory for Flex asset types.

Parameters:
type - the asset type and sub type, for which the type definition is to be retrieved.
Returns:
the asset type definition associated with this asset type and sub-type.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

getDefinition

AssetTypeDef getDefinition(AssetId assetId)
                           throws DataAccessException

Returns the asset type definition object for a specified asset.

Parameters:
assetId - the identifier for the asset whose type definition is to be retrieved.
Returns:
the asset type definition associated with the asset.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

newAsset

AssetData newAsset(AssetTypeDef assetTypeDef)
                   throws DataAccessException
Returns an empty asset data instance for a given asset type.

Parameters:
assetTypeDef - asset type definition to use in creating the empty asset data object.
Returns:
an empty AssetData instance.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

read

AssetData read(AssetId assetId)
               throws DataAccessException
Returns the data associated with an asset.

Parameters:
assetId - the identifier of the asset whose data is to be retrieved.
Returns:
the asset data.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

read

AssetData read(AssetId assetId,
               java.util.List<java.lang.String> fields)
               throws DataAccessException

Returns the data associated with an asset, retrieving only a subset of the available fields.

If the list contains fields which are not available in the asset definition, those fields are ignored. This method should be preferred over AssetDao.read(AssetId) if it is only required to read only specific fields of the asset.

Parameters:
assetId - the identifier of the asset whose data is to be retrieved.
fields - the list of fields which are to be retrieved.
Returns:
the asset data.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

save

AssetSaveStatusBean save(AssetData assetData)
                         throws DataAccessException
Saves the data associated with an asset. This method attempts to save all the data, and returns true if the asset has changed as a result of this save.

Parameters:
assetData - the data associated with the asset to save.
Returns:
true if the asset has changed as a result of this save, false otherwise.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

delete

boolean delete(AssetId assetId)
               throws DataAccessException
Deletes an asset. This method should be safe i.e., it should fail to delete an asset if there are integrity constraints (for example, references by other assets).

Parameters:
assetId - the identifier of the asset to delete.
Returns:
true if delete was successful, false otherwise.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

delete

java.util.List<AssetId> delete(java.util.List<AssetId> assetIds)
                               throws DataAccessException
Deletes a list of assets identified by the asset identifiers in assetsToDelete. This method is used primarily for bulk delete of assets. This method should be safe i.e., it should fail to delete an asset if there are integrity constraints (for example, references by other assets).

Parameters:
assetIds - the list containing identifiers of the assets to delete.
Returns:
list containing all assets which were successfully deleted.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

getReferences

java.util.List<AssetId> getReferences(AssetId assetId)
                                      throws DataAccessException
Returns a list of asset identifiers for all assets which reference a given asset.

Parameters:
assetId - the identifier for the asset whose references are to be retrieved.
Returns:
list containing asset identifiers for asset references.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

removeReferences

java.util.List<AssetId> removeReferences(AssetId assetId,
                                         java.util.List<AssetId> references)
                                         throws DataAccessException
Removes the references of an asset. This method may be used when an asset operation is blocked due to the asset being referenced by other assets (for example, an asset may not be deleted without removing its references).

Parameters:
assetId - identifier of the asset to delete.
references - list containing identifiers of assets referencing asset.
Returns:
list of asset identifiers for those reference assets which were successfully deleted.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

getSitesInWhichEnabled

java.util.List<SiteBean> getSitesInWhichEnabled(java.lang.String assetType)
                                                throws DataAccessException
Returns the list of sites for which the given asset type is enabled. If the type is not enabled in any site, this returns an empty list.

Parameters:
type - the asset type which should be enabled in the list of sites returned.
Returns:
list of sites in which the asset type is enabled, empty list if the type is not enabled in any site.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

getSitesInWhichShared

java.util.List<SiteBean> getSitesInWhichShared(AssetId assetId)
                                               throws DataAccessException
Returns the list of sites in which an asset is shared. If the asset is not shared in any site, this returns an empty list.

Parameters:
assetId - identifier of the asset which should be shared in the list of sites returned.
Returns:
list of sites in which this asset is shared, empty list if the asset is not shared in any site.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

share

boolean share(AssetId assetId,
              java.util.List<java.lang.Long> sites)
              throws DataAccessException
Shares an asset with all the sites in the specified list. if the list is empty or null, the asset is not shared with any site. If the asset is already shared with some sites, this method will only share the asset with those sites in the list with which it is not shared.

Parameters:
assetId - identifier of the asset to share.
sites - list of sites with which asset is to be shared.
Returns:
true if the asset could successfully be shared across all specified sites.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

getSubTypes

java.util.List<TypeBean> getSubTypes(java.lang.String assetType,
                                     long site)
                                     throws DataAccessException

Returns the List of subtypes for the given asset type and site.

If the specified type is a Flex asset type, the returned list will contain the available definitions as the sub-types.

Parameters:
type - the asset type for which to retrieve the list of sub types in the specified site (the type returned by TypeBean.getType() is considered).
site - the site in which to search for the subtypes.
Returns:
list of TypeBean containing type as the type, and the retrieved sub-types as the sub-type.
Throws:
DataAccessException - wraps any underlying exception caused during data access.

getFlexDefinitions

java.util.List<AssetId> getFlexDefinitions(java.lang.String assetType,
                                           long site)
                                           throws DataAccessException

Returns the List of definition asset identifiers for the given Flex asset type and site.

This is relevant for Flex asset types only because the Flex asset type definitions (sub-types) are also in-turn assets. If the specified type is not a flex asset type, then the list returned is null.

Parameters:
type - the flex asset type for which the definitions are to be retrieved.
site - the site in which to search for the definitions.
Returns:
list of the asset identifiers
Throws:
DataAccessException - wraps any underlying exception caused during data access.


Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.