mirror of
https://github.com/google/nomulus.git
synced 2025-05-14 16:37:13 +02: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:
parent
7f3941a843
commit
50c5f856a2
8 changed files with 88 additions and 26 deletions
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue