<commit_before>package org.jscsi.scsi.tasks.file;

import org.jscsi.scsi.protocol.Command;
import org.jscsi.scsi.tasks.Task;
import org.jscsi.scsi.transport.TargetTransportPort;

public abstract class FileTask implements Task
{
   // Data   
   protected TargetTransportPort _targetPort;
   protected Command _command;

   protected FileDevice _device;

   public FileTask()
   {
   }

   // Constructors
   public FileTask(TargetTransportPort targetPort, FileDevice device)
   {
      this._targetPort = targetPort;
      this._device = device;
   }

   // Methods common to all GridTasks
   public Command getCommand()
   {
      return this._command;
   }

   public TargetTransportPort getTargetTransportPort()
   {
      return this._targetPort;
   }

   public FileDevice getFileDevice()
   {
      return this._device;
   }

   // package protected setters to be used by GridTaskFactory
   void setTargetTransportPort(TargetTransportPort targetPort)
   {
      this._targetPort = targetPort;
   }

   void setFileDevice(FileDevice device)
   {
      this._device = device;
   }

   void setCommand(Command command)
   {
      this._command = command;
   }
}<commit_msg>Updated FileTask to extend AbstractTask<commit_after>
package org.jscsi.scsi.tasks.file;

import org.jscsi.scsi.protocol.Command;
import org.jscsi.scsi.tasks.AbstractTask;
import org.jscsi.scsi.transport.TargetTransportPort;

public abstract class FileTask extends AbstractTask
{
   protected FileDevice _device;

   public FileTask()
   {
      super();
   }

   // Constructors
   public FileTask(TargetTransportPort targetPort, Command command, FileDevice device)
   {
      super(targetPort, command);
      this._device = device;
   }

   public FileDevice getFileDevice()
   {
      return this._device;
   }

   void setFileDevice(FileDevice device)
   {
      this._device = device;
   }
   
   // protected setters to be used by FileTaskFactory
   protected void setTargetTransportPort(TargetTransportPort targetPort)
   {
      super.setTargetTransportPort(targetPort);
   }

   protected void setCommand(Command command)
   {
      super.setCommand(command);
   }
}
{'fraction_non_alphanumeric': 0.07853159851301116, 'fraction_numerical': 0.0, 'mean_word_length': 3.180582524271845, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3399215', 'n_tokens_mistral': 637, 'n_tokens_neox': 620, 'n_words': 143}