/* * Copyright (C) 2008-2020, Juick * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package com.juick.www.api.xnodeinfo2.model; import com.fasterxml.jackson.annotation.JsonView; import java.util.List; import java.util.Map; public class NodeInfo { private String version; private Server server; private List protocols; private ServiceInfo services; private Map metadata; @JsonView({XNodeInfoView.class, NodeInfoView.class}) public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } @JsonView(XNodeInfoView.class) public Server getServer() { return server; } @JsonView(NodeInfoView.class) public Server getSoftware() { return server; } public void setServer(Server server) { this.server = server; } @JsonView({XNodeInfoView.class, NodeInfoView.class}) public List getProtocols() { return protocols; } public void setProtocols(List protocols) { this.protocols = protocols; } @JsonView({XNodeInfoView.class, NodeInfoView.class}) public ServiceInfo getServices() { return services; } public void setServices(ServiceInfo services) { this.services = services; } @JsonView({XNodeInfoView.class, NodeInfoView.class}) public boolean getOpenRegistrations() { return true; } private Usage usage; @JsonView({XNodeInfoView.class, NodeInfoView.class}) public Usage getUsage() { return usage; } public void setUsage(Usage usage) { this.usage = usage; } @JsonView(NodeInfoView.class) public Map getMetadata() { return metadata; } public void setMetadata(Map metadata) { this.metadata = metadata; } public interface NodeInfoView {} public interface XNodeInfoView {} }