Coverage Summary for Class: JsonRpcRequest (co.rsk.jsonrpc)

Class Class, % Method, % Line, %
JsonRpcRequest 0% (0/1) 0% (0/2) 0% (0/3)


1 /* 2  * This file is part of RskJ 3  * Copyright (C) 2018 RSK Labs Ltd. 4  * 5  * This program is free software: you can redistribute it and/or modify 6  * it under the terms of the GNU Lesser General Public License as published by 7  * the Free Software Foundation, either version 3 of the License, or 8  * (at your option) any later version. 9  * 10  * This program is distributed in the hope that it will be useful, 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13  * GNU Lesser General Public License for more details. 14  * 15  * You should have received a copy of the GNU Lesser General Public License 16  * along with this program. If not, see <http://www.gnu.org/licenses/>. 17  */ 18 package co.rsk.jsonrpc; 19  20 import com.fasterxml.jackson.annotation.JsonInclude; 21  22 import java.util.Objects; 23  24 /** 25  * This is the base class for JSON-RPC requests. 26  * Inheritors should define the methods it accepts and how to map to different specific implementations. 27  */ 28 public abstract class JsonRpcRequest<T extends Enum<T>> extends JsonRpcIdentifiableMessage { 29  private final T method; 30  31  public JsonRpcRequest( 32  JsonRpcVersion version, 33  T method, 34  int id) { 35  super(version, id); 36  this.method = Objects.requireNonNull(method); 37  } 38  39  @JsonInclude(JsonInclude.Include.ALWAYS) 40  public T getMethod() { 41  return method; 42  } 43 }