Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Logback: the reliable, generic, fast and flexible logging framework. Copyright (C) 1999-2011, QOS.ch. All rights reserved. This program and the accompanying materials are dual-licensed under either the terms of the Eclipse Public License v1.0 as published by the Eclipse Foundation or (per the licensee's choosing) under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation.
 
 package ch.qos.logback.core.status;
 
 import java.util.List;
 
 abstract public class StatusBase implements Status {
 
   static private final List<StatusEMPTY_LIST = new ArrayList<Status>(0);
   
   int level;
   final String message;
   final Object origin;
   long date;
 
   StatusBase(int levelString msgObject origin) {
     this(levelmsgoriginnull);
   }
 
   StatusBase(int levelString msgObject originThrowable t) {
     this. = level;
     this. = msg;
     this. = origin;
     this. = t;
     this. = System.currentTimeMillis();
   }
 
   public synchronized void add(Status child) {
     if (child == null) {
       throw new NullPointerException("Null values are not valid Status.");
     }
     if ( == null) {
        = new ArrayList<Status>();
     }
     .add(child);
   }
 
   public synchronized boolean hasChildren() {
     return (( != null) && (.size() > 0));
   }
 
   public synchronized Iterator<Statusiterator() {
     if ( != null) {
       return .iterator();
     } else {
       return .iterator();
     }
   }
 
   public synchronized boolean remove(Status statusToRemove) {
     if ( == null) {
       return false;
     }
     // TODO also search in childrens' children
     return .remove(statusToRemove);
   }
 
   public int getLevel() {
     return ;
   }
 
   // status messages are not supposed to contains cycles.
   // cyclic status arrangements are like to cause deadlocks
   // when this method is called from different thread on
   // different status objects lying on the same cycle
   public synchronized int getEffectiveLevel() {
     int result = ;
     int effLevel;
 
     Iterator it = iterator();
     Status s;
     while (it.hasNext()) {
       s = (Statusit.next();
       effLevel = s.getEffectiveLevel();
       if (effLevel > result) {
         result = effLevel;
       }
     }
     return result;
   }
 
   public String getMessage() {
     return ;
   }
  public Object getOrigin() {
    return ;
  }
  public Throwable getThrowable() {
    return ;
  }
  
  public Long getDate() {
    return ;
  }

  

Override:
  public String toString() {
    StringBuffer buf = new StringBuffer();
    switch (getEffectiveLevel()) {
    case :
      buf.append("INFO");
      break;
    case :
      buf.append("WARN");
      break;
    case :
      buf.append("ERROR");
      break;
    }
    if ( != null) {
      buf.append(" in ");
      buf.append();
      buf.append(" -");
    }
    buf.append(" ");
    buf.append();
    if ( != null) {
      buf.append(" ");
      buf.append();
    }
    return buf.toString();
  }
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ;
    result = prime * result + (( == null) ? 0 : .hashCode());
    return result;
  }
  public boolean equals(Object obj) {
    if (this == obj)
      return true;
    if (obj == null)
      return false;
    if (getClass() != obj.getClass())
      return false;
    final StatusBase other = (StatusBaseobj;
    if ( != other.level)
      return false;
    if ( == null) {
      if (other.message != null)
        return false;
    } else if (!.equals(other.message))
      return false;
    return true;
  }
  
New to GrepCode? Check out our FAQ X