package org.atomnuke.syslog;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Set;
/**
*
* @author zinic
*/
public class SyslogMessageBuilder implements SyslogMessage {
private final Set<StructuredDataBuilder> structuredDataBuilders;
private String originHostname, applicationName, processId, messageId, content;
private int priority, version;
private Calendar timestamp;
public SyslogMessageBuilder() {
structuredDataBuilders = new HashSet<StructuredDataBuilder>();
}
public StructuredDataBuilder newStructuredDataBuilder(String sdName) {
final StructuredDataBuilder builder = new StructuredDataBuilder();
builder.setId(sdName);
structuredDataBuilders.add(builder);
return builder;
}
public void setContent(String content) {
this.content = content;
}
public void setVersion(int version) {
this.version = version;
}
public void setOriginHostname(String originHostname) {
this.originHostname = originHostname;
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
public void setPriority(int priority) {
this.priority = priority;
}
public void setProcessId(String processId) {
this.processId = processId;
}
public void setTimestamp(Calendar timestamp) {
this.timestamp = timestamp;
}
public void setMessageId(String messageId) {
this.messageId = messageId;
}
@Override
public String content() {
return content;
}
@Override
public Set<? extends StructuredDataElement> structuredData() {
return structuredDataBuilders;
}
@Override
public String messageId() {
return messageId;
}
@Override
public int version() {
return version;
}
@Override
public int priority() {
return priority;
}
@Override
public Calendar timestamp() {
return timestamp;
}
@Override
public String originHostname() {
return originHostname;
}
@Override
public String applicationName() {
return applicationName;
}
@Override
public String processId() {
return processId;
}
}