return absent();
}
try {
- profile.addField(fieldName).setValue(fieldValue);
+ profile.setField(profile.addField(fieldName), fieldValue);
} catch (IllegalArgumentException iae1) {
logger.log(Level.WARNING, String.format("Duplicate field: %s", fieldName), iae1);
return absent();
if (indexOfField == -1) {
return;
}
- fields.get(indexOfField).setValue(newValue);
+ fields.set(indexOfField, new Field(field.getId(), field.getName(), newValue));
}
/**
*/
public static class Field {
- /** The ID of the field. */
private final String id;
-
- /** The name of the field. */
- private String name;
-
- /** The value of the field. */
- private String value;
+ private final String name;
+ private final String value;
public Field(String name) {
this(name, null);
this.value = value;
}
- /**
- * Returns the ID of this field.
- *
- * @return The ID of this field
- */
public String getId() {
return id;
}
- /**
- * Returns the name of this field.
- *
- * @return The name of this field
- */
public String getName() {
return name;
}
- /**
- * Returns the value of this field.
- *
- * @return The value of this field
- */
public String getValue() {
return value;
}
- /**
- * Sets the value of this field. While {@code null} is allowed, no
- * guarantees are made that {@code null} values are correctly persisted
- * across restarts of the plugin!
- *
- * @param value
- * The new value of this field
- * @return This field
- */
- public Field setValue(String value) {
- this.value = value;
- return this;
- }
-
- //
- // OBJECT METHODS
- //
-
- /**
- * {@inheritDoc}
- */
@Override
public boolean equals(Object object) {
if (!(object instanceof Field)) {
return id.equals(field.id);
}
- /**
- * {@inheritDoc}
- */
@Override
public int hashCode() {
return id.hashCode();
profile.setAvatar(webInterface.getCore().getImage(avatarId).transform(GET_ID));
for (Field field : fields) {
String value = request.getHttpRequest().getPartAsStringFailsafe("field-" + field.getId(), 400);
- field.setValue(value);
+ profile.setField(field, value);
}
currentSone.setProfile(profile);
webInterface.getCore().touchConfiguration();