package io.craft.atom.protocol.rpc.model; import java.io.Serializable; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import lombok.ToString; /** * A <code>RpcMethod</code> provides information about a RPC interface exposed method. * * @author mindwind * @version 1.0, Aug 8, 2014 */ @ToString @EqualsAndHashCode(of = { "name", "parameterTypes" }) public class RpcMethod implements Serializable { private static final long serialVersionUID = -4302065109637231162L; @Getter @Setter private String name ; @Getter private Class<?>[] parameterTypes; @Getter private Object[] parameters ; // ~ ------------------------------------------------------------------------------------------------------------- public RpcMethod() {} public RpcMethod(String name, Class<?>[] parameterTypes) { this.name = name; this.parameterTypes = parameterTypes; } public RpcMethod(String name, Class<?>[] parameterTypes, Object[] parameters) { this(name, parameterTypes); this.parameters = parameters; } // ~ ------------------------------------------------------------------------------------------------------------- public void setParameterTypes(Class<?>... parameterTypes) { this.parameterTypes = parameterTypes; } public void setParameters(Object... parameters) { this.parameters = parameters; } }