class ParameterId {

	/**
	 * The P name.
	 */
	private String pName;

	/**
	 * The Param type.
	 */
	private String paramType;

	/**
	 * The Ref.
	 */
	private String $ref;

	/**
	 * Instantiates a new Parameter id.
	 *
	 * @param parameter the parameter
	 */
	public ParameterId(Parameter parameter) {
		this.pName = parameter.getName();
		this.paramType = parameter.getIn();
		this.$ref = parameter.get$ref();
	}

	/**
	 * Instantiates a new Parameter id.
	 *
	 * @param parameter the parameter
	 */
	public ParameterId(io.swagger.v3.oas.annotations.Parameter parameter) {
		this.pName = parameter.name();
		this.paramType = StringUtils.isNotBlank(parameter.in().toString()) ? parameter.in().toString() : null;
		this.$ref = StringUtils.isNotBlank(parameter.ref()) ? parameter.ref() : null;
	}

	/**
	 * Instantiates a new Parameter id.
	 *
	 * @param pName the p name
	 * @param paramType the param type
	 */
	public ParameterId(String pName, String paramType) {
		this.pName = pName;
		this.paramType = paramType;
	}

	/**
	 * Gets name.
	 *
	 * @return the name
	 */
	public String getpName() {
		return pName;
	}

	/**
	 * Sets name.
	 *
	 * @param pName the p name
	 */
	public void setpName(String pName) {
		this.pName = pName;
	}

	/**
	 * Gets param type.
	 *
	 * @return the param type
	 */
	public String getParamType() {
		return paramType;
	}

	/**
	 * Sets param type.
	 *
	 * @param paramType the param type
	 */
	public void setParamType(String paramType) {
		this.paramType = paramType;
	}

	/**
	 * Get ref string.
	 *
	 * @return the string
	 */
	public String get$ref() {
		return $ref;
	}

	/**
	 * Set ref.
	 *
	 * @param $ref the ref
	 */
	public void set$ref(String $ref) {
		this.$ref = $ref;
	}

	@Override
	public boolean equals(Object o) {<FILL_FUNCTION_BODY>}

	@Override
	public int hashCode() {
		return Objects.hash(pName, paramType, $ref);
	}
}

		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		ParameterId that = (ParameterId) o;
		if (this.pName == null && StringUtils.isBlank(this.paramType))
			return Objects.equals($ref, that.$ref);
		if (this.pName != null && StringUtils.isBlank(this.paramType))
			return Objects.equals(pName, that.pName);

		return Objects.equals(pName, that.pName) && Objects.equals(paramType, that.paramType);

	
<no_super_class>