コード例 #1
0
 @Override
 public int hashCode() {
   int result = decoder != null ? decoder.hashCode() : 0;
   result = 31 * result + (encoder != null ? encoder.hashCode() : 0);
   result = 31 * result + (encodingFilter != null ? encodingFilter.hashCode() : 0);
   return result;
 }
コード例 #2
0
  @Override
  public ParsingResult decode(Connection connection, HttpContent httpContent) {
    final HttpHeader httpHeader = httpContent.getHttpHeader();
    final Buffer input = httpContent.getContent();
    final TransformationResult<Buffer, Buffer> result = decoder.transform(httpHeader, input);

    Buffer remainder = result.getExternalRemainder();

    if (remainder == null || !remainder.hasRemaining()) {
      input.tryDispose();
      remainder = null;
    } else {
      input.shrink();
    }

    try {
      switch (result.getStatus()) {
        case COMPLETE:
          {
            httpContent.setContent(result.getMessage());
            decoder.finish(httpHeader);
            return ParsingResult.create(httpContent, remainder);
          }

        case INCOMPLETE:
          {
            return ParsingResult.create(null, remainder);
          }

        case ERROR:
          {
            throw new IllegalStateException(
                "LZMA decode error. Code: "
                    + result.getErrorCode()
                    + " Description: "
                    + result.getErrorDescription());
          }

        default:
          throw new IllegalStateException("Unexpected status: " + result.getStatus());
      }
    } finally {
      result.recycle();
    }
  }
コード例 #3
0
  @Override
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    LZMAContentEncoding that = (LZMAContentEncoding) o;

    if (decoder != null ? !decoder.equals(that.decoder) : that.decoder != null) return false;
    if (encoder != null ? !encoder.equals(that.encoder) : that.encoder != null) return false;
    if (encodingFilter != null
        ? !encodingFilter.equals(that.encodingFilter)
        : that.encodingFilter != null) return false;

    return true;
  }