GroupManager/src/main/java/org/anjocaido/groupmanager/data/UserVariables.java

52 lines
1.1 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.anjocaido.groupmanager.data;
import java.util.Map;
/**
*
* @author gabrielcouto
*/
public class UserVariables extends Variables {
private final User owner;
public UserVariables(final User owner) {
super(owner);
this.owner = owner;
}
public UserVariables(final User owner, final Map<String, Object> varList) {
super(owner);
this.variables.clear();
this.variables.putAll(varList);
this.owner = owner;
}
/**
* @return the owner
*/
@Override
public User getOwner() {
return owner;
}
/**
* A clone of all vars here.
*
* @return UserVariables clone
*/
protected UserVariables clone(final User newOwner) {
final UserVariables clone = new UserVariables(newOwner);
synchronized (variables) {
for (final String key : variables.keySet()) {
clone.variables.put(key, variables.get(key));
}
}
newOwner.flagAsChanged();
return clone;
}
}