Package freenet.clients.fcp

Source Code of freenet.clients.fcp.UploadRequestStatus

package freenet.clients.fcp;

import freenet.client.InsertException.InsertExceptionMode;
import freenet.clients.fcp.ClientRequest.Persistence;
import freenet.keys.FreenetURI;

/** Base class for cached status of uploads */
public abstract class UploadRequestStatus extends RequestStatus {
 
  private FreenetURI finalURI;
  private final FreenetURI targetURI;
  private InsertExceptionMode failureCode;
  private String failureReasonShort;
  private String failureReasonLong;
 
  UploadRequestStatus(String identifier, Persistence persistence, boolean started, boolean finished,
      boolean success, int total, int min, int fetched, int fatal, int failed,
      boolean totalFinalized, long last, short prio, // all these passed to parent
      FreenetURI finalURI, FreenetURI targetURI,
      InsertExceptionMode failureCode, String failureReasonShort, String failureReasonLong) {
    super(identifier, persistence, started, finished, success, total, min, fetched,
        fatal, failed, totalFinalized, last, prio);
    this.finalURI = finalURI;
    this.targetURI = targetURI;
    this.failureCode = failureCode;
    this.failureReasonShort = failureReasonShort;
    this.failureReasonLong = failureReasonLong;
  }
 
  synchronized void setFinished(boolean success, FreenetURI finalURI, InsertExceptionMode failureCode,
      String failureReasonShort, String failureReasonLong) {
    setFinished(success);
    this.finalURI = finalURI;
    this.failureCode = failureCode;
    this.failureReasonShort = failureReasonShort;
    this.failureReasonLong = failureReasonLong;
  }


  public FreenetURI getFinalURI() {
    return finalURI;
  }
 
  public FreenetURI getTargetURI() {
    return targetURI;
  }

  @Override
  public FreenetURI getURI() {
    return finalURI;
  }

  @Override
  public abstract long getDataSize();

  @Override
  public String getFailureReason(boolean longDescription) {
    return longDescription ? failureReasonLong : failureReasonShort;
  }

  synchronized void setFinalURI(FreenetURI finalURI2) {
    this.finalURI = finalURI2;
  }
 
  @Override
  public String getPreferredFilename() {
    FreenetURI uri = getFinalURI();
    if(uri != null &&
        (uri.hasMetaStrings() || uri.getDocName() != null))
      return uri.getPreferredFilename();
    uri = getTargetURI();
    if(uri != null &&
        (uri.hasMetaStrings() || uri.getDocName() != null))
      return uri.getPreferredFilename();
    return null;
  }

}
TOP

Related Classes of freenet.clients.fcp.UploadRequestStatus

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.