de.micromata.genome.logging.DocLogEntry.java Source code

Java tutorial

Introduction

Here is the source code for de.micromata.genome.logging.DocLogEntry.java

Source

//
// Copyright (C) 2010-2016 Micromata GmbH
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

package de.micromata.genome.logging;

import java.util.Objects;
import org.apache.commons.lang3.StringUtils;

/**
 * Java representation for a documented log entry.
 *
 * @author roger@micromata.de
 */
public class DocLogEntry {

    /**
     * The reason.
     */
    private String reason;

    /**
     * The action.
     */
    private String action;

    /**
     * The domain.
     */
    private String domain;

    /**
     * The category.
     */
    private String category;

    /**
     * The level.
     */
    private String level;

    /**
     * The const message.
     */
    private String constMessage;

    /**
     * The message.
     */
    private String message;

    /**
     * The class name.
     */
    private String className;

    /**
     * The line.
     */
    private int line;

    /**
     * The no doc.
     */
    private boolean noDoc = false;

    /**
     * Instantiates a new doc log entry.
     */
    public DocLogEntry() {
    }

    /**
     * Instantiates a new doc log entry.
     *
     * @param level the level
     * @param category the category
     */
    public DocLogEntry(String level, String category) {
        this.level = level;
        this.category = category;
    }

    public boolean isValid() {
        return StringUtils.isNotBlank(level) && StringUtils.isNotBlank(category)
                && StringUtils.isNotBlank(constMessage);

    }

    public boolean isDocumented() {
        return noDoc == false && isValid();
    }

    @Override
    public int hashCode() {
        return level.hashCode() + (getFqCat().hashCode() * 31);
    }

    public String getFqCat() {
        if (domain == null || domain.length() == 0) {
            return category;
        }
        return domain + "." + category;
    }

    @Override
    public boolean equals(Object other) {
        if ((other instanceof DocLogEntry) == false) {
            return false;
        }
        DocLogEntry dle = (DocLogEntry) other;
        return level.equals(dle.level) && Objects.equals(domain, dle.domain) && category.equals(dle.category);
    }

    @Override
    public String toString() {
        return className + ": " + line + "; " + level + "; " + domain + "." + category + "; " + constMessage;
    }

    public int getLine() {
        return line;
    }

    public void setLine(int line) {
        this.line = line;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getConstMessage() {
        return constMessage;
    }

    public void setConstMessage(String constMessage) {
        this.constMessage = constMessage;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public boolean isNoDoc() {
        return noDoc;
    }

    public void setNoDoc(boolean noDoc) {
        this.noDoc = noDoc;
    }

}