Interface MetadataService


  • public interface MetadataService
    A Service to manage Metadata of any content of any type in eXo Platform. This Service will allow to store additional Metadata to contents without defining additional Services or Storage layers to allow to extends content definition
    • Method Detail

      • deleteMetadataById

        Metadata deleteMetadataById​(long metadataId)
        Deletes a Metadata by a given Metadata identifier
        Parameters:
        metadataId - Metadata technical identifier
        Returns:
        Deleted Metadata
      • deleteMetadataBySpaceId

        int deleteMetadataBySpaceId​(long spaceId)
        Deletes all MetadataItem by a given Space identifier
        Parameters:
        spaceId - Space technical identifier
        Returns:
        deleted items count
      • deleteMetadataBySpaceIdAndAudienceId

        int deleteMetadataBySpaceIdAndAudienceId​(long spaceId,
                                                 long audienceId)
        Deletes all MetadataItem by a given Space identifier and audience Identity identifier
        Parameters:
        spaceId -
        audienceId -
        Returns:
        deleted items count
      • deleteMetadataItem

        MetadataItem deleteMetadataItem​(long itemId,
                                        long userIdentityId)
                                 throws org.exoplatform.commons.exception.ObjectNotFoundException
        Parameters:
        itemId - MetadataItem technical identifier
        userIdentityId - Identity technical identifier designating the user making the operation
        Returns:
        Deleted MetadataItem
        Throws:
        org.exoplatform.commons.exception.ObjectNotFoundException - when the MetadataItem isn't found
      • deleteMetadataItem

        MetadataItem deleteMetadataItem​(long itemId,
                                        boolean broadcast)
                                 throws org.exoplatform.commons.exception.ObjectNotFoundException
        Parameters:
        itemId - MetadataItem technical identifier
        broadcast - whether broadcast event after deleting or not
        Returns:
        Deleted MetadataItem
        Throws:
        org.exoplatform.commons.exception.ObjectNotFoundException - when the MetadataItem isn't found
      • deleteMetadataItemsByObject

        void deleteMetadataItemsByObject​(MetadataObject object)
        Deletes Metadata items for a given MetadataItem objectId and objectType. This is generally called when the associated object has been removed (activity removed, comment removed ...)
        Parameters:
        object - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and an objectId (the object technical identifier. In general we use here the DB identifier of the object).
      • deleteMetadataItemsByMetadataTypeAndObject

        void deleteMetadataItemsByMetadataTypeAndObject​(String metadataType,
                                                        MetadataObject object)
        Deletes Metadata items for a given Metadata type, objectId and objectType. This is generally called when the associated object has been removed (activity removed, comment removed ...)
        Parameters:
        metadataType - Metadata type
        object - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and an objectId (the object technical identifier. In general we use here the DB identifier of the object).
      • shareMetadataItemsByObject

        List<MetadataItem> shareMetadataItemsByObject​(MetadataObject sourceObject,
                                                      String targetObjectId,
                                                      long audienceId,
                                                      long creatorId)
        Shares/copy the MetadataItem list of a shared object to the newly created object.
        Parameters:
        sourceObject - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and an objectId (the object technical identifier. In general we use here the DB identifier of the object).
        targetObjectId - target content that will receive the metadata items
        audienceId - targeted audience Identity identifier
        creatorId - Identity identifier of user sharing object
        Returns:
        newly created MetadataItem associated to targetObjectId
      • getMetadataItemsByObject

        List<MetadataItem> getMetadataItemsByObject​(MetadataObject object)
        Retrieves the list of Metadata attached to an object identified by its name and identifier
        Parameters:
        object - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and an objectId (the object technical identifier. In general we use here the DB identifier of the object).
        Returns:
        List of linked MetadataItem
      • getMetadataItemsByMetadataTypeAndObject

        List<MetadataItem> getMetadataItemsByMetadataTypeAndObject​(String metadataType,
                                                                   MetadataObject object)
        Retrieves the list of Metadata items attached to a given Metadata type and an object identified by its name and identifier
        Parameters:
        metadataType - Metadata type
        object - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and an objectId (the object technical identifier. In general we use here the DB identifier of the object).
        Returns:
        List of linked MetadataItem
      • getMetadataItemsByMetadataNameAndTypeAndObject

        List<MetadataItem> getMetadataItemsByMetadataNameAndTypeAndObject​(String metadataName,
                                                                          String metadataTypeName,
                                                                          String objectType,
                                                                          long offset,
                                                                          long limit)
        Retrieves the Metadata item attached to a given Metadata name, type and MetadataItem object type
        Parameters:
        metadataName - Metadata name
        metadataTypeName - Metadata type name
        objectType - objectType MetadataItem objectType
        offset - offset of ids to retrieve
        limit - limit of ids to retrieve
        Returns:
        List of linked MetadataItem
      • getMetadataItemsByMetadataNameAndTypeAndObjectAndMetadataItemProperty

        List<MetadataItem> getMetadataItemsByMetadataNameAndTypeAndObjectAndMetadataItemProperty​(String metadataName,
                                                                                                 String metadataTypeName,
                                                                                                 String objectType,
                                                                                                 String propertyKey,
                                                                                                 String propertyValue,
                                                                                                 long offset,
                                                                                                 long limit)
        Retrieves the Metadata item attached to a given Metadata name, type, MetadataItem object type and MetadataItem property
        Parameters:
        metadataName - Metadata name
        metadataTypeName - Metadata type name
        objectType - objectType MetadataItem objectType
        propertyKey - MetadataItem property key
        propertyValue - MetadataItem property value
        offset - offset of ids to retrieve
        limit - limit of ids to retrieve
        Returns:
        List of linked MetadataItem
      • getMetadataItemsByMetadataTypeAndCreator

        List<MetadataItem> getMetadataItemsByMetadataTypeAndCreator​(String metadataTypeName,
                                                                    long creatorId,
                                                                    long offset,
                                                                    long limit)
        Retrieves the Metadata item attached to a given Metadata type, MetadataItem creatorId
        Parameters:
        metadataTypeName - Metadata type
        creatorId - MetadataItem creatorId
        offset - offset of ids to retrieve
        limit - limit of ids to retrieve
        Returns:
        List of linked MetadataItem
      • countMetadataItemsByMetadataTypeAndCreator

        int countMetadataItemsByMetadataTypeAndCreator​(String metadataTypeName,
                                                       long creatorId)
        Count the size of metadata items to a given Metadata type, MetadataItem creatorId
        Parameters:
        metadataTypeName - Metadata type
        creatorId - MetadataItem creatorId
        Returns:
        integer
      • getMetadataItemsByMetadataAndObject

        List<MetadataItem> getMetadataItemsByMetadataAndObject​(MetadataKey metadataKey,
                                                               MetadataObject object)
        Retrieves the list of Metadata items attached to a MetadataKey and an object identified by its name and identifier
        Parameters:
        metadataKey - MetadataKey that contains MetadataType name Metadata name and Metadata audience
        object - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and an objectId (the object technical identifier. In general we use here the DB identifier of the object).
        Returns:
        List of linked MetadataItem
      • getMetadataObjectIds

        List<String> getMetadataObjectIds​(String metadataType,
                                          String metadataName,
                                          String objectType,
                                          long offset,
                                          long limit)
        Retieves a list of object identifiers switch Metadata type, name and objectType
        Parameters:
        metadataType - Metadata type
        metadataName - Metadata name
        objectType - MetadataItem objectType
        offset - offset of ids to retrieve
        limit - limit of ids to retrieve
        Returns:
        List of associated objects ordered by MetadataItem creationDate desc
      • addMetadataPlugin

        void addMetadataPlugin​(MetadataInitPlugin metadataInitPlugin)
        Save a new Metadata
        Parameters:
        metadataInitPlugin - a ComponentPlugin defining Metadata to save
      • getMetadatasByProperty

        List<Metadata> getMetadatasByProperty​(String propertyKey,
                                              String propertyValue,
                                              long limit)
        Parameters:
        propertyKey - Metadata property key
        propertyValue - Metadata property value
        limit - limit of results to retrieve
        Returns:
        List of Managed Metadata by property
      • getMetadatas

        List<Metadata> getMetadatas​(String metadataTypeName,
                                    long limit)
        Parameters:
        metadataTypeName - metadata name Metadata name
        limit - limit of results to retrieve
        Returns:
        List of Managed Metadata
      • deleteMetadataItemsByParentObject

        void deleteMetadataItemsByParentObject​(MetadataObject object)
        Deletes Metadata items for a given MetadataItem parentObjectId and objectType. This is generally called when the associated parent object has been removed (activity removed bu example, its comments metadata items has to be deleted as well)
        Parameters:
        object - MetadataObject that defines an objectType (an object type identifier like, ACTIVITY, COMMENT, NOTE, FILE ...) and a parentObjectId (the object technical identifier. In general we use here the DB identifier of the object).