package io.ebean.event.readaudit;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
Read event sent to the ReadEventLogger.
This is a flattened in that it contains either a read bean or list of beans. It is flattened
in this way to simplify logging and processing and simply means that it either contains an
id or a list of ids.
/**
* Read event sent to the ReadEventLogger.
* <p>
* This is a flattened in that it contains either a read bean or list of beans. It is flattened
* in this way to simplify logging and processing and simply means that it either contains an
* id or a list of ids.
* </p>
*/
public class ReadEvent {
User defined 'source' such as the application name.
/**
* User defined 'source' such as the application name.
*/
protected String source;
Application user id expected to be optionally populated by ChangeLogPrepare.
/**
* Application user id expected to be optionally populated by ChangeLogPrepare.
*/
protected String userId;
Application user ip address expected to be optionally populated by ChangeLogPrepare.
/**
* Application user ip address expected to be optionally populated by ChangeLogPrepare.
*/
protected String userIpAddress;
Arbitrary user context information expected to be optionally populated by ChangeLogPrepare.
/**
* Arbitrary user context information expected to be optionally populated by ChangeLogPrepare.
*/
protected Map<String, String> userContext;
The time the bean change was created.
/**
* The time the bean change was created.
*/
protected long eventTime;
The type of the bean(s) read.
/**
* The type of the bean(s) read.
*/
protected String beanType;
The query key (relative to the bean type).
/**
* The query key (relative to the bean type).
*/
protected String queryKey;
The bind log when the query was executed.
/**
* The bind log when the query was executed.
*/
protected String bindLog;
The id of the bean read.
/**
* The id of the bean read.
*/
protected Object id;
The ids of the beans read.
/**
* The ids of the beans read.
*/
protected List<Object> ids;
Common constructor for single bean and multi-bean read events.
/**
* Common constructor for single bean and multi-bean read events.
*/
protected ReadEvent(String beanType, String queryKey, String bindLog) {
this.beanType = beanType;
this.queryKey = queryKey;
this.bindLog = bindLog;
this.eventTime = System.currentTimeMillis();
}
Construct for a single bean read.
/**
* Construct for a single bean read.
*/
public ReadEvent(String beanType, String queryKey, String bindLog, Object id) {
this(beanType, queryKey, bindLog);
this.id = id;
}
Construct for many beans read.
/**
* Construct for many beans read.
*/
public ReadEvent(String beanType, String queryKey, String bindLog, List<Object> ids) {
this(beanType, queryKey, bindLog);
this.ids = ids;
}
Construct for many future list query.
/**
* Construct for many future list query.
*/
public ReadEvent(String beanType) {
this.beanType = beanType;
this.eventTime = System.currentTimeMillis();
}
Constructor for JSON tools.
/**
* Constructor for JSON tools.
*/
public ReadEvent() {
}
Return a code that identifies the source of the change (like the name of the application).
/**
* Return a code that identifies the source of the change (like the name of the application).
*/
public String getSource() {
return source;
}
Set the source of the change (like the name of the application).
/**
* Set the source of the change (like the name of the application).
*/
public void setSource(String source) {
this.source = source;
}
Return the application user Id.
/**
* Return the application user Id.
*/
public String getUserId() {
return userId;
}
Set the application user Id.
This can be set by the ChangeLogListener in the prepare() method which is called
in the foreground thread.
/**
* Set the application user Id.
* <p>
* This can be set by the ChangeLogListener in the prepare() method which is called
* in the foreground thread.
* </p>
*/
public void setUserId(String userId) {
this.userId = userId;
}
Return the application users ip address.
/**
* Return the application users ip address.
*/
public String getUserIpAddress() {
return userIpAddress;
}
Set the application users ip address.
This can be set by the ChangeLogListener in the prepare() method which is called
in the foreground thread.
/**
* Set the application users ip address.
* <p>
* This can be set by the ChangeLogListener in the prepare() method which is called
* in the foreground thread.
* </p>
*/
public void setUserIpAddress(String userIpAddress) {
this.userIpAddress = userIpAddress;
}
Return a user context value - anything you set yourself in ChangeLogListener prepare().
/**
* Return a user context value - anything you set yourself in ChangeLogListener prepare().
*/
public Map<String, String> getUserContext() {
if (userContext == null) {
userContext = new LinkedHashMap<>();
}
return userContext;
}
Set a user context value (anything you like).
This can be set by the ChangeLogListener in the prepare() method which is called
in the foreground thread.
/**
* Set a user context value (anything you like).
* <p>
* This can be set by the ChangeLogListener in the prepare() method which is called
* in the foreground thread.
* </p>
*/
public void setUserContext(Map<String, String> userContext) {
this.userContext = userContext;
}
Return the type of bean read.
/**
* Return the type of bean read.
*/
public String getBeanType() {
return beanType;
}
Set the type of bean read.
/**
* Set the type of bean read.
*/
public void setBeanType(String beanType) {
this.beanType = beanType;
}
Return the query key (relative to the bean type).
/**
* Return the query key (relative to the bean type).
*/
public String getQueryKey() {
return queryKey;
}
Set the query key (relative to the bean type).
/**
* Set the query key (relative to the bean type).
*/
public void setQueryKey(String queryKey) {
this.queryKey = queryKey;
}
Return the bind log used when executing the query.
/**
* Return the bind log used when executing the query.
*/
public String getBindLog() {
return bindLog;
}
Set the bind log used when executing the query.
/**
* Set the bind log used when executing the query.
*/
public void setBindLog(String bindLog) {
this.bindLog = bindLog;
}
Return the event date time.
/**
* Return the event date time.
*/
public long getEventTime() {
return eventTime;
}
Set the event date time.
/**
* Set the event date time.
*/
public void setEventTime(long eventTime) {
this.eventTime = eventTime;
}
Return the id of the bean read.
/**
* Return the id of the bean read.
*/
public Object getId() {
return id;
}
Set the id of the bean read.
/**
* Set the id of the bean read.
*/
public void setId(Object id) {
this.id = id;
}
Return the ids of the beans read.
/**
* Return the ids of the beans read.
*/
public List<Object> getIds() {
return ids;
}
Set the ids of the beans read.
/**
* Set the ids of the beans read.
*/
public void setIds(List<Object> ids) {
this.ids = ids;
}
}