Business Object Proxies (BOPs)

This section describes business object proxies used when copying files.

This page discusses:

About Business Object Proxies

BusinessObject is the base class for all business objects. BusinessObjects represent data, such as a Part or a Document, and AdminTypes defines the meta-data. For a part, there would be an admin object of type "type" called Part. The Part BusinessObject is an instance of type Part. BusinessObjects can contain one or more formats. Each format can have one or more files associated with it. The filename must be unique within the format.

The Business Object Proxy represents one file within a BusinessObject. The BOP contains an object id, a format name, and a filename. It also contains several Boolean flags indicating the state to leave the object when the file operation completes. For example, one flag indicates that the BusinessObject should be locked after the checkout operation is completed. Another flag says to append a new file to the BusinessObject (unless set, all previous files within the object, regardless of format, are removed from the business object during checkin)

One business object proxy can have multiple files that are unique within a given format. Formats are metadata policy lists.

File Copy

The file copy operation uses a method that performs the file copy from the original BusinessObject, and then checks the meta data into the copy BusinessObject. For example:

BusinessObjectProxy inBop = new 
BusinessObjectProxy(oid,format,filename,false,false)
BusinessObjectProxy copyBop = new  
BusinessObjectProxy(oid2,format2,filename,append,false)
ArrayList inList = new ArrayList();
inList.add(inBop);
copyList.add(copyBop);
com.matrixone.fcs.mcs.Copy(context,inList,copyList);

The file name in inBop is copied to the copyBop object. As a result, there are two files in the store. There is no connection between the two files or business objects.

Copy Locations

It is assumed that both the source and destination locations will be computed based on user site preferences. If you do not specify the destination location, the source location is used. The FCS specified by the destination location is used to do the actual file movement.