You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Shane Johnson <sj...@citytechinc.com> on 2009/05/10 00:36:28 UTC

cmisobject vs objectentry

Hi Everyone,

Just have a couple questions since I started taking a look at the code.

I was wondering what the difference between CMISObject and ObjectEntry really is? I saw in the comments that ObjectEntry was intended to be returned via search but aren't the results all CMISObjects in the end?

Also, I was wondering if object services (move, delete) belong in the CMISObject or in a separate class such as the repository.

Shane

Re: cmisobject vs objectentry

Posted by Florent Guillaume <fg...@nuxeo.com>.
Hi Shane,

Sorry for the late answer, I've been in vacation and taken by other  
urgent things.

On 10 May 2009, at 00:36, Shane Johnson wrote:
> Just have a couple questions since I started taking a look at the  
> code.
> I was wondering what the difference between CMISObject and  
> ObjectEntry really is? I saw in the comments that ObjectEntry was  
> intended to be returned via search but aren't the results all  
> CMISObjects in the end?

There are two level to the API, the high-level one where you have  
CMISObjects (or more accurately its subinterfaces: Document, Folder,  
etc). The other low-level one, the SPI, is used mainly by implementors  
as it closely mirrors the CMIS spec and doesn't provide "intelligent"  
objects on top of it. ObjectEntry is one such dumb object, just a Data  
Transfert Object (DTO). Its Javadoc is a bit misleading, I'll update it.

> Also, I was wondering if object services (move, delete) belong in  
> the CMISObject or in a separate class such as the repository.

I put them on CMISObject because my goal is to make that high-level  
interface as simple as possible for a user. For a user it's simpler to  
do:
   object.move(somefolder, null)
than:
   lookUpSomeService().move(object, somefolder, null)
or even
   connection.move(object, somefolder, null)

Florent

-- 
Florent Guillaume, Head of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87