Package com.dianping.cat.message.spi.internal

Source Code of com.dianping.cat.message.spi.internal.DefaultMessageTree

package com.dianping.cat.message.spi.internal;

import java.nio.charset.Charset;

import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;

import com.dianping.cat.message.Message;
import com.dianping.cat.message.spi.MessageTree;
import com.dianping.cat.message.spi.codec.PlainTextMessageCodec;

public class DefaultMessageTree implements MessageTree {
  private ChannelBuffer m_buf;

  private String m_domain;

  private String m_hostName;

  private String m_ipAddress;

  private Message m_message;

  private String m_messageId;

  private String m_parentMessageId;

  private String m_rootMessageId;

  private String m_sessionToken;

  private String m_threadGroupName;

  private String m_threadId;

  private String m_threadName;

  @Override
  public MessageTree copy() {
    MessageTree tree = new DefaultMessageTree();

    tree.setDomain(m_domain);
    tree.setHostName(m_hostName);
    tree.setIpAddress(m_ipAddress);
    tree.setMessageId(m_messageId);
    tree.setParentMessageId(m_parentMessageId);
    tree.setRootMessageId(m_rootMessageId);
    tree.setSessionToken(m_sessionToken);
    tree.setThreadGroupName(m_threadGroupName);
    tree.setThreadId(m_threadId);
    tree.setThreadName(m_threadName);
    tree.setMessage(m_message);

    return tree;
  }

  public ChannelBuffer getBuffer() {
    return m_buf;
  }

  @Override
  public String getDomain() {
    return m_domain;
  }

  @Override
  public String getHostName() {
    return m_hostName;
  }

  @Override
  public String getIpAddress() {
    return m_ipAddress;
  }

  @Override
  public Message getMessage() {
    return m_message;
  }

  @Override
  public String getMessageId() {
    return m_messageId;
  }

  @Override
  public String getParentMessageId() {
    return m_parentMessageId;
  }

  @Override
  public String getRootMessageId() {
    return m_rootMessageId;
  }

  @Override
  public String getSessionToken() {
    return m_sessionToken;
  }

  @Override
  public String getThreadGroupName() {
    return m_threadGroupName;
  }

  @Override
  public String getThreadId() {
    return m_threadId;
  }

  @Override
  public String getThreadName() {
    return m_threadName;
  }

  public void setBuffer(ChannelBuffer buf) {
    m_buf = buf;
  }

  @Override
  public void setDomain(String domain) {
    m_domain = domain;
  }

  @Override
  public void setHostName(String hostName) {
    m_hostName = hostName;
  }

  @Override
  public void setIpAddress(String ipAddress) {
    m_ipAddress = ipAddress;
  }

  @Override
  public void setMessage(Message message) {
    m_message = message;
  }

  @Override
  public void setMessageId(String messageId) {
    if (messageId != null && messageId.length() > 0) {
      m_messageId = messageId;
    }
  }

  @Override
  public void setParentMessageId(String parentMessageId) {
    if (parentMessageId != null && parentMessageId.length() > 0) {
      m_parentMessageId = parentMessageId;
    }
  }

  @Override
  public void setRootMessageId(String rootMessageId) {
    if (rootMessageId != null && rootMessageId.length() > 0) {
      m_rootMessageId = rootMessageId;
    }
  }

  @Override
  public void setSessionToken(String sessionToken) {
    m_sessionToken = sessionToken;
  }

  @Override
  public void setThreadGroupName(String threadGroupName) {
    m_threadGroupName = threadGroupName;
  }

  @Override
  public void setThreadId(String threadId) {
    m_threadId = threadId;
  }

  @Override
  public void setThreadName(String threadName) {
    m_threadName = threadName;
  }

  @Override
  public String toString() {
    PlainTextMessageCodec codec = new PlainTextMessageCodec();
    ChannelBuffer buf = ChannelBuffers.dynamicBuffer(8192);

    codec.encode(this, buf);
    buf.readInt(); // get rid of length
    codec.reset();
    return buf.toString(Charset.forName("utf-8"));
  }
}
TOP

Related Classes of com.dianping.cat.message.spi.internal.DefaultMessageTree

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.