mirror of
https://github.com/google/nomulus
synced 2026-01-09 23:47:49 +00:00
Document StatusValue better and add per-resource restrictions
This generalizes the "LINKED can't be anywhere" idea into more targeted restrictions. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=146158204
This commit is contained in:
@@ -243,9 +243,14 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||
|
||||
/** Set this resource's status values. */
|
||||
public B setStatusValues(ImmutableSet<StatusValue> statusValues) {
|
||||
checkArgument(
|
||||
!nullToEmpty(statusValues).contains(StatusValue.LINKED),
|
||||
"LINKED is a virtual status value that should never be set on an EppResource");
|
||||
Class<? extends EppResource> resourceClass = getInstance().getClass();
|
||||
for (StatusValue statusValue : nullToEmpty(statusValues)) {
|
||||
checkArgument(
|
||||
!statusValue.isForbiddenOn(resourceClass),
|
||||
"The %s status cannot be set on %s",
|
||||
statusValue,
|
||||
resourceClass.getSimpleName());
|
||||
}
|
||||
getInstance().status = statusValues;
|
||||
return thisCastToDerived();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user