[variant IdA1AdminPermission
[documentation AdminBan "A permission that allows for banning admins."]
[case AdminBan]
[documentation AdminCreate "A permission that allows for creating admins."]
[case AdminCreate]
[documentation AdminDelete "A permission that allows for deleting admins."]
[case AdminDelete]
[documentation AdminWrite "A permission that allows updating admins."]
[case AdminWrite]
[documentation AdminWriteSelf "A permission that allows an admin to update itself."]
[case AdminWriteSelf]
[documentation AdminRead "A permission that allows reading admins."]
[case AdminRead]
[documentation AuditRead "A permission that allows reading the audit log."]
[case AuditRead]
[documentation UserDelete "A permission that allows deleting users."]
[case UserDelete]
[documentation UserCreate "A permission that allows creating users."]
[case UserCreate]
[documentation UserWrite "A permission that allows updating users."]
[case UserWrite]
[documentation UserRead "A permission that allows reading users."]
[case UserRead]
[documentation UserBan "A permission that allows for banning users."]
[case UserBan]
]
This yields a serialize method that looks like this:
@Override
public void serialize(final CBSerializationContextType context, final IdA1AdminPermission value)
throws IOException {
if (value instanceof IdA1AdminPermission.AdminBan) {
serializeAdminBan(context, (IdA1AdminPermission.AdminBan) value);
return;
}
if (value instanceof IdA1AdminPermission.AdminCreate) {
serializeAdminCreate(context, (IdA1AdminPermission.AdminCreate) value);
return;
}
if (value instanceof IdA1AdminPermission.AdminDelete) {
serializeAdminDelete(context, (IdA1AdminPermission.AdminDelete) value);
return;
}
if (value instanceof IdA1AdminPermission.AdminWrite) {
serializeAdminWrite(context, (IdA1AdminPermission.AdminWrite) value);
return;
}
if (value instanceof IdA1AdminPermission.AdminWriteSelf) {
serializeAdminWriteSelf(context, (IdA1AdminPermission.AdminWriteSelf) value);
return;
}
if (value instanceof IdA1AdminPermission.AdminRead) {
serializeAdminRead(context, (IdA1AdminPermission.AdminRead) value);
return;
}
if (value instanceof IdA1AdminPermission.AuditRead) {
serializeAuditRead(context, (IdA1AdminPermission.AuditRead) value);
return;
}
if (value instanceof IdA1AdminPermission.UserDelete) {
serializeUserDelete(context, (IdA1AdminPermission.UserDelete) value);
return;
}
if (value instanceof IdA1AdminPermission.UserCreate) {
serializeUserCreate(context, (IdA1AdminPermission.UserCreate) value);
return;
}
if (value instanceof IdA1AdminPermission.UserWrite) {
serializeUserWrite(context, (IdA1AdminPermission.UserWrite) value);
return;
}
if (value instanceof IdA1AdminPermission.UserRead) {
serializeUserRead(context, (IdA1AdminPermission.UserRead) value);
return;
}
if (value instanceof IdA1AdminPermission.UserBan) {
serializeUserBan(context, (IdA1AdminPermission.UserBan) value);
return;
}
throw new IllegalArgumentException(String.format("Unrecognized variant case class: %s",value.getClass()));
}
Note the lack of calls to context.writeVariantIndex().
This yields a serialize method that looks like this:
Note the lack of calls to
context.writeVariantIndex()
.