Class GroupDelta
java.lang.Object
com.google.gerrit.server.group.db.GroupDelta
Data holder for updates to be applied to a group.
A GroupDelta
specifies the modifications to be applied to a group. Only fields set via
GroupDelta.Builder
will be updated.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A builder for aGroupDelta
.static interface
Representation of a member modification as defined byGroupDelta.MemberModification.apply(ImmutableSet)
.static interface
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic GroupDelta.Builder
builder()
Defines the new description of the group.abstract GroupDelta.MemberModification
Defines how the members of the group should be modified.abstract Optional<AccountGroup.NameKey>
getName()
Defines the new name of the group.abstract Optional<AccountGroup.UUID>
Defines the new owner of the group.abstract GroupDelta.SubgroupModification
Defines how the subgroups of the group should be modified.Defines theTimestamp
to be used for the NoteDb commits of the update.Defines the new state of the 'visibleToAll' flag of the group.abstract GroupDelta.Builder
-
Constructor Details
-
GroupDelta
public GroupDelta()
-
-
Method Details
-
getName
Defines the new name of the group. If not specified, the name remains unchanged. -
getDescription
Defines the new description of the group. If not specified, the description remains unchanged.Note: Passing the empty string unsets the description.
-
getOwnerGroupUUID
Defines the new owner of the group. If not specified, the owner remains unchanged. -
getVisibleToAll
Defines the new state of the 'visibleToAll' flag of the group. If not specified, the flag remains unchanged. -
getMemberModification
Defines how the members of the group should be modified. By default (that is if nothing is specified), the members remain unchanged.- Returns:
- a
GroupDelta.MemberModification
which gets the current members of the group as input and outputs the desired resulting members
-
getSubgroupModification
Defines how the subgroups of the group should be modified. By default (that is if nothing is specified), the subgroups remain unchanged.- Returns:
- a
GroupDelta.SubgroupModification
which gets the current subgroups of the group as input and outputs the desired resulting subgroups
-
getUpdatedOn
Defines theTimestamp
to be used for the NoteDb commits of the update. If not specified, the currentTimestamp
when creating the commit will be used.If this
GroupDelta
is passed next to anInternalGroupCreation
during a group creation, thisTimestamp
is used for the NoteDb commits of the new group. Hence, theInternalGroup#getCreatedOn()
field will match thisTimestamp
.Note:
Timestamp
s of NoteDb commits for groups are used for events in the audit log. For this reason, specifying this field will have an effect on the resulting audit log. -
toBuilder
-
builder
-