/** * License Agreement for OpenSearchServer * <p/> * Copyright (C) 2011-2016 Emmanuel Keller / Jaeksoft * <p/> * http://www.open-search-server.com * <p/> * This file is part of OpenSearchServer. * <p/> * OpenSearchServer is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * <p/> * OpenSearchServer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * <p/> * You should have received a copy of the GNU General Public License * along with OpenSearchServer. * If not, see <http://www.gnu.org/licenses/>. **/ package com.jaeksoft.searchlib.webservice; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.jaeksoft.searchlib.util.InfoCallback; import javax.xml.bind.annotation.*; import java.util.TreeMap; @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "result") @JsonInclude(Include.NON_NULL) public class CommonResult implements InfoCallback { protected final static String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ"; @XmlAttribute final public Boolean successful; @XmlElement public String info; public TreeMap<String, Object> details; public CommonResult() { successful = null; info = null; details = null; } protected CommonResult(CommonResult result) { successful = result.successful; info = result.info; details = result.details == null ? null : new TreeMap<String, Object>(result.details); } public CommonResult(Boolean successful, String info) { this.info = info; this.successful = successful; } @Override public void setInfo(String info) { this.info = info; } @Override @XmlTransient public String getInfo() { return info; } public CommonResult addDetail(String key, Object value) { if (value == null) return this; if (details == null) details = new TreeMap<>(); details.put(key, value); return this; } }