/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.core.internal.client; import org.mule.runtime.core.api.client.OperationOptions; /** * Default implementation for {@link org.mule.runtime.core.api.client.OperationOptions} */ public class SimpleOptions implements OperationOptions { private final Long responseTimeout; private final boolean outbound; public SimpleOptions(Long responseTimeout, boolean outbound) { this.responseTimeout = responseTimeout; this.outbound = outbound; } @Override public Long getResponseTimeout() { return responseTimeout; } public boolean isOutbound() { return outbound; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof SimpleOptions)) { return false; } SimpleOptions that = (SimpleOptions) o; if (responseTimeout == null ? that.responseTimeout != null : !responseTimeout.equals(that.responseTimeout)) { return false; } return true; } @Override public int hashCode() { final Long responseTimeout = getResponseTimeout(); return responseTimeout != null ? responseTimeout.hashCode() : 0; } }