org.xiruss.repository.client.importers
Class BoundedObjectSet

java.lang.Object
  extended by org.xiruss.repository.client.importers.BoundedObjectSet

public class BoundedObjectSet
extends java.lang.Object

Represents a bounded object set of storage objects (e.g., files). Can be accessed as a set of objects or as a tree of objects. A set of objects with a single root member from which all of the other members can be navigated to directly or indirectly. BOS members may be added with an explicit parent or, if no explicit parent is specified, then the root member will be used as the parent. The BOS can be processed either as a flat set of members or as a hierarchy. However, the hierarchy is not exclusive, such that the same member may be a child of more than one parent member. The BOS may not have cycles. This allows the BOS structure to reflect the inherent hierarchical structure of the input data, such as a compound document constructed using XInclude links.


Field Summary
 BosMemberNameGenerator bosMemberNameGenerator
           
protected  java.util.Map<java.lang.String,BosMember> members
           
protected  java.util.Map<java.lang.String,java.util.Vector> membersByName
           
protected  Repository rep
           
protected  BosMember rootMember
           
protected  Snapshot snapshot
           
protected  SourceToVersionMap so2verMap
           
 
Constructor Summary
BoundedObjectSet(Repository rep, Snapshot snap)
           
 
Method Summary
 void addAll(java.util.Collection rtdMembers)
          Add all the members of the collection to the BOS.
 void addMember(BosMember newMember)
          Add a previously-constructed BOS member to the BOS.
 BosMember addMember(java.lang.String memberKey, java.io.File memberFile, BosMember parentMember, java.lang.String memberName)
          Add a new member storage object to the BOS as a child of another BOS member.
 BosMember addMember(java.lang.String memberKey, java.io.File memberFile, java.lang.String memberName)
           
 BosMember addMember(java.lang.String memberKey, Resource existingResource, XmlBosMember parentMember, java.lang.String memberName, Snapshot shotshot)
          Add a BOS member created from an existing repository resource.
 BosMember addRootMember(java.lang.String memberKey, java.io.File memberFile, java.lang.String memberName)
          Add a new member to the BOS.
protected  BosMember createBosMember(java.lang.Class bosMemberClass, java.lang.String memberKey, Resource existingResource, java.lang.String memberName)
           
 BosMember getBosRoot()
          Returns the BOS root member.
 java.util.Iterator getIterator()
          Get iterator over the set of BOS members.
 BosMember getMember(java.lang.String memberKey)
           
 java.util.HashMap getMembers()
           
 Repository getRep()
           
 Snapshot getSnapshot()
           
 SourceToVersionMap getSourceToVersionMap()
           
 boolean hasMember(java.lang.String memberKey)
           
 boolean hasMembersNamed(java.lang.String key)
           
protected static boolean memberInAncestors(BosMember startingMember, BosMember candMember)
          Returns true if the candidate member is in the ancestors of the starting member.
 java.lang.String reportBosMembers()
          Generates a multi-line report of the BOS membership as a string.
 void setSourceToVersionMap(SourceToVersionMap so2verMap)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

snapshot

protected Snapshot snapshot

rep

protected Repository rep

bosMemberNameGenerator

public BosMemberNameGenerator bosMemberNameGenerator

so2verMap

protected SourceToVersionMap so2verMap

rootMember

protected BosMember rootMember

members

protected java.util.Map<java.lang.String,BosMember> members

membersByName

protected java.util.Map<java.lang.String,java.util.Vector> membersByName
Constructor Detail

BoundedObjectSet

public BoundedObjectSet(Repository rep,
                        Snapshot snap)
Method Detail

addRootMember

public BosMember addRootMember(java.lang.String memberKey,
                               java.io.File memberFile,
                               java.lang.String memberName)
                        throws BosException,
                               ImporterException
Add a new member to the BOS. Returns the newly-created member. This method may only be called once--it sets the root member and there can be only one root member in a given BOS.

Parameters:
memberKey - String key for the member.
memberObj - Member storage object.
Returns:
Newly-created BosMember.
Throws:
BosException
ImporterException

createBosMember

protected BosMember createBosMember(java.lang.Class bosMemberClass,
                                    java.lang.String memberKey,
                                    Resource existingResource,
                                    java.lang.String memberName)
                             throws BosException,
                                    ImporterException
Throws:
BosException
ImporterException

addMember

public BosMember addMember(java.lang.String memberKey,
                           java.io.File memberFile,
                           java.lang.String memberName)
                    throws BosCycleException,
                           BosException,
                           ImporterException
Throws:
BosCycleException
BosException
ImporterException

addMember

public void addMember(BosMember newMember)
               throws BosException
Add a previously-constructed BOS member to the BOS.

Parameters:
newMember - New BOS member to add to the BOS.
Throws:
BosException

addMember

public BosMember addMember(java.lang.String memberKey,
                           java.io.File memberFile,
                           BosMember parentMember,
                           java.lang.String memberName)
                    throws BosCycleException,
                           BosException,
                           ImporterException
Add a new member storage object to the BOS as a child of another BOS member. Returns the newly-created member.

Parameters:
memberKey - String key for the member.
memberFile - Member storage object.
parentMember - BOS member this member is to be registered as a child of.
Returns:
Newly-created BosMember.
Throws:
BosCycleException
BosException
ImporterException

addMember

public BosMember addMember(java.lang.String memberKey,
                           Resource existingResource,
                           XmlBosMember parentMember,
                           java.lang.String memberName,
                           Snapshot shotshot)
                    throws BosException
Add a BOS member created from an existing repository resource. No new version will be created for this BOS member.

Parameters:
namespace -
resource -
parentMember -
memberName -
Throws:
BosException

getIterator

public java.util.Iterator getIterator()
Get iterator over the set of BOS members.

Returns:
Iterator

getMembers

public java.util.HashMap getMembers()
Returns:

memberInAncestors

protected static boolean memberInAncestors(BosMember startingMember,
                                           BosMember candMember)
Returns true if the candidate member is in the ancestors of the starting member.

Parameters:
startingMember - The BOS member whose ancestry is being checked.
candMember - The member to check for presence in the ancestry.
Returns:
true if candMember is in the ancestry of startingMember.

getMember

public BosMember getMember(java.lang.String memberKey)
Parameters:
string -
Returns:

getBosRoot

public BosMember getBosRoot()
Returns the BOS root member.

Returns:

setSourceToVersionMap

public void setSourceToVersionMap(SourceToVersionMap so2verMap)

getSourceToVersionMap

public SourceToVersionMap getSourceToVersionMap()

addAll

public void addAll(java.util.Collection rtdMembers)
            throws BosException
Add all the members of the collection to the BOS.

Parameters:
rtdMembers -
Throws:
BosException

hasMember

public boolean hasMember(java.lang.String memberKey)
Parameters:
rtdMemberKey -
Returns:

reportBosMembers

public java.lang.String reportBosMembers()
Generates a multi-line report of the BOS membership as a string.

Returns:
String containing the report.

hasMembersNamed

public boolean hasMembersNamed(java.lang.String key)
Parameters:
key -
Returns:

getRep

public Repository getRep()
Returns:

getSnapshot

public Snapshot getSnapshot()
Returns:
The snapshot this BOS will be imported on to.