Class CompositeSave

java.lang.Object
edu.internet2.middleware.grouper.CompositeSave

public class CompositeSave extends Object

Use this class to insert or update or delete a composite

Sample call (type is complement or intersection)

 Composite composite = new CompositeSave().assignOwnerName(group1.getName()).assignLeftFactorName(group2.getName()).assignRightFactorName(group3.getName())
   .assignType("complement").save();
 

Sample call to delete a composite

 new CompositeSave().assignOwnerName(group1.getName()).assignLeftFactorName(group2.getName()).assignRightFactorName(group3.getName())
  .assignSaveMode(SaveMode.DELETE).save();
 

  • Constructor Details

    • CompositeSave

      public CompositeSave(GrouperSession theGrouperSession)
      create a new composite save
      Parameters:
      theGrouperSession -
    • CompositeSave

      public CompositeSave()
      create a new membership save
      Parameters:
      theGrouperSession -
  • Method Details

    • assignId

      public CompositeSave assignId(String theId)
      id of composite on insert
      Parameters:
      theId -
      Returns:
      this for chaining
    • assignType

      public CompositeSave assignType(String theType)
      Parameters:
      theType -
      Returns:
      this for chaining
    • assignLeftFactorName

      public CompositeSave assignLeftFactorName(String theLeftFactor)
      Parameters:
      theLeftFactor -
      Returns:
      this for chaining
    • assignRightFactorName

      public CompositeSave assignRightFactorName(String theRightFactor)
      Parameters:
      theRightFactor -
      Returns:
      this for chaining
    • assignOwnerName

      public CompositeSave assignOwnerName(String name1)
      name
      Parameters:
      name1 -
      Returns:
      name
    • assignSaveMode

      public CompositeSave assignSaveMode(SaveMode theSaveMode)
      asssign save mode
      Parameters:
      theSaveMode -
      Returns:
      this for chaining
    • getSaveResultType

      public SaveResultType getSaveResultType()
      get the save type
      Returns:
      save type
    • assignOwnerGroupId

      public CompositeSave assignOwnerGroupId(String theOwnerGroupId)
      this is the foreign key mutually exclusive with ownerGroupName
      Parameters:
      theOwnerGroupId -
      Returns:
      this for chaining
    • assignLeftFactorGroupName

      public CompositeSave assignLeftFactorGroupName(String theLeftFactorGroupName)
      left factor group name, this is the foreign key mutually exclusive with leftFactorGroupId
      Parameters:
      theLeftFactorGroupName -
      Returns:
      this for chaining
    • assignCompositeType

      public CompositeSave assignCompositeType(CompositeType theCompositeType)
      assign the composite type
      Parameters:
      theCompositeType -
      Returns:
      this for chaining
    • getComposite

      public Composite getComposite()
      Returns:
      the composite
    • assignOwnerGroup

      public CompositeSave assignOwnerGroup(Group theOwnerGroup)
      owner group foreign key
      Parameters:
      theOwnerGroup -
      Returns:
      this for chaining
    • assignLeftFactorGroup

      public CompositeSave assignLeftFactorGroup(Group theLeftFactorGroup)
      if this is a group attribute, this is the foreign key
      Parameters:
      theLeftFactorGroup -
      Returns:
      this for chaining
    • assignLeftFactorGroupId

      public CompositeSave assignLeftFactorGroupId(String theLeftFactorGroupId)
      if this is a group attribute, this is the foreign key mutually exclusive with ownerGroupName
      Parameters:
      theLeftFactorGroupId -
      Returns:
      this for chaining
    • assignRightFactorGroupName

      public CompositeSave assignRightFactorGroupName(String theRightFactorGroupName)
      right factor group name, this is the foreign key mutually exclusive with rightFactorGroupId
      Parameters:
      theRightFactorGroupName -
      Returns:
      this for chaining
    • assignRightFactorGroup

      public CompositeSave assignRightFactorGroup(Group theRightFactorGroup)
      right factor group this is the foreign key
      Parameters:
      theRightFactorGroup -
      Returns:
      this for chaining
    • assignRightFactorGroupId

      public CompositeSave assignRightFactorGroupId(String theRightFactorGroupId)
      right factor group id, this is the foreign key mutually exclusive with rightFactorGroupName
      Parameters:
      theRightFactorGroupId -
      Returns:
      this for chaining
    • assignOwnerGroupName

      public CompositeSave assignOwnerGroupName(String theOwnerGroupName)
      owner group name, this is the foreign key mutually exclusive with ownerGroupId
      Parameters:
      theOwnerGroupName -
      Returns:
      this for chaining
    • save

       create or update a group.  Note this will not rename a group at this time (might in future)
       
       This is a static method since setters to Group objects persist to the DB
       
       Steps:
       
       1. Find the group by groupNameToEdit
       2. Internally set all the fields of the stem (no need to reset if already the same)
       3. Store the group (insert or update) if needed
       4. Return the group object
       
       This runs in a tx so that if part of it fails the whole thing fails, and potentially the outer
       transaction too
       
      Returns:
      the composite that was updated or created or deleted
      Throws:
      AttributeDefNameNotFoundException
      InsufficientPrivilegeException
      StemNotFoundException
      GroupNotFoundException