public abstract class InternalGroupUpdate
extends java.lang.Object
An InternalGroupUpdate
only specifies the modifications which should be applied to a
group. Each of the modifications and hence each call on InternalGroupUpdate.Builder
is
optional.
Modifier and Type | Class and Description |
---|---|
static class |
InternalGroupUpdate.Builder
A builder for an
InternalGroupUpdate . |
static interface |
InternalGroupUpdate.MemberModification
Representation of a member modification as defined by
InternalGroupUpdate.MemberModification.apply(ImmutableSet) . |
static interface |
InternalGroupUpdate.SubgroupModification |
Constructor and Description |
---|
InternalGroupUpdate() |
Modifier and Type | Method and Description |
---|---|
static InternalGroupUpdate.Builder |
builder() |
abstract java.util.Optional<java.lang.String> |
getDescription()
Defines the new description of the group.
|
abstract InternalGroupUpdate.MemberModification |
getMemberModification()
Defines how the members of the group should be modified.
|
abstract java.util.Optional<AccountGroup.NameKey> |
getName()
Defines the new name of the group.
|
abstract java.util.Optional<AccountGroup.UUID> |
getOwnerGroupUUID()
Defines the new owner of the group.
|
abstract InternalGroupUpdate.SubgroupModification |
getSubgroupModification()
Defines how the subgroups of the group should be modified.
|
abstract java.util.Optional<java.sql.Timestamp> |
getUpdatedOn()
Defines the
Timestamp to be used for the NoteDb commits of the update. |
abstract java.util.Optional<java.lang.Boolean> |
getVisibleToAll()
Defines the new state of the 'visibleToAll' flag of the group.
|
abstract InternalGroupUpdate.Builder |
toBuilder() |
public abstract java.util.Optional<AccountGroup.NameKey> getName()
public abstract java.util.Optional<java.lang.String> getDescription()
Note: Passing the empty string unsets the description.
public abstract java.util.Optional<AccountGroup.UUID> getOwnerGroupUUID()
public abstract java.util.Optional<java.lang.Boolean> getVisibleToAll()
public abstract InternalGroupUpdate.MemberModification getMemberModification()
InternalGroupUpdate.MemberModification
which gets the current members of the group as input and
outputs the desired resulting memberspublic abstract InternalGroupUpdate.SubgroupModification getSubgroupModification()
InternalGroupUpdate.SubgroupModification
which gets the current subgroups of the group as input
and outputs the desired resulting subgroupspublic abstract java.util.Optional<java.sql.Timestamp> getUpdatedOn()
Timestamp
to be used for the NoteDb commits of the update. If not
specified, the current Timestamp
when creating the commit will be used.
If this InternalGroupUpdate
is passed next to an InternalGroupCreation
during a group creation, this Timestamp
is used for the NoteDb commits of the new
group. Hence, the InternalGroup#getCreatedOn()
field will match this Timestamp
.
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.
public abstract InternalGroupUpdate.Builder toBuilder()
public static InternalGroupUpdate.Builder builder()