package org.fluxtream.core.domain;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.fluxtream.core.Configuration;
@Entity(name="ApiKeyAttribute")
@NamedQueries( {
@NamedQuery( name="apiKeyAttribute.byKeyAndConnector",
query="SELECT att FROM ApiKeyAttribute att WHERE att.apiKey=? AND att.attributeKey=?")
})
public class ApiKeyAttribute extends AbstractEntity {
public static final String MIN_TIME_KEY = "minTime";
public static final String MAX_TIME_KEY = "maxTime";
public static final String LAST_SYNC_TIME_KEY = "lastSyncTime";
@ManyToOne
public ApiKey apiKey;
public String attributeKey;
@Lob
String attributeValue;
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this, false);
}
public void setAttributeValue(String value, Configuration env) {
this.attributeValue = env.encrypt(value);
}
public boolean equals(Object o1, Object o2) {
return EqualsBuilder.reflectionEquals(o1, o2);
}
}