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.