// Path: src/main/java/com/google/dicomwebfuse/fuse/Command.java
// public enum Command {
//   GETATTR,
//   READDIR,
//   READ,
//   OPEN,
//   OPEN_DIR,
//   CREATE,
//   WRITE,
//   RELEASE,
//   UNLINK,
//   TRUNCATE,
//   RENAME
// }
// 
// Path: src/main/java/com/google/dicomwebfuse/entities/Instance.java
// @JsonInclude(JsonInclude.Include.NON_NULL)
// public class Instance {
// 
//   @JsonProperty("0020000D")
//   private DicomAttribute<String> studyInstanceUID;
//   @JsonProperty("0020000E")
//   private DicomAttribute<String> seriesInstanceUID;
//   @JsonProperty("00080018")
//   private DicomAttribute<String> sopInstanceUID;
// 
//   public DicomAttribute<String> getStudyInstanceUID() {
//     return studyInstanceUID;
//   }
// 
//   public void setStudyInstanceUID(DicomAttribute<String> studyInstanceUID) {
//     this.studyInstanceUID = studyInstanceUID;
//   }
// 
//   public DicomAttribute<String> getSeriesInstanceUID() {
//     return seriesInstanceUID;
//   }
// 
//   public void setSeriesInstanceUID(DicomAttribute<String> seriesInstanceUID) {
//     this.seriesInstanceUID = seriesInstanceUID;
//   }
// 
//   public DicomAttribute<String> getSopInstanceUID() {
//     return sopInstanceUID;
//   }
// 
//   public void setSopInstanceUID(DicomAttribute<String> sopInstanceUID) {
//     this.sopInstanceUID = sopInstanceUID;
//   }
// 
//   @Override
//   public boolean equals(Object o) {
//     if (this == o) {
//       return true;
//     }
//     if (o == null || getClass() != o.getClass()) {
//       return false;
//     }
//     Instance instance = (Instance) o;
//     return studyInstanceUID.equals(instance.studyInstanceUID) &&
//         seriesInstanceUID.equals(instance.seriesInstanceUID) &&
//         sopInstanceUID.equals(instance.sopInstanceUID);
//   }
// 
//   @Override
//   public int hashCode() {
//     return Objects.hash(studyInstanceUID, seriesInstanceUID, sopInstanceUID);
//   }
// }


import com.google.dicomwebfuse.fuse.Command;
import com.google.dicomwebfuse.entities.Instance;
import java.util.concurrent.atomic.AtomicLong;
// Copyright 2019 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.dicomwebfuse.entities.cache;


public class InstanceContent {

  private final Instance instance;
  // offset for macOS for to prevent the following error:
  // https://github.com/osxfuse/osxfuse/issues/587
  private final AtomicLong offset = new AtomicLong();
  private long instanceSize;
// Path: src/main/java/com/google/dicomwebfuse/fuse/Command.java
// public enum Command {
//   GETATTR,
//   READDIR,
//   READ,
//   OPEN,
//   OPEN_DIR,
//   CREATE,
//   WRITE,
//   RELEASE,
//   UNLINK,
//   TRUNCATE,
//   RENAME
// }
// 
// Path: src/main/java/com/google/dicomwebfuse/entities/Instance.java
// @JsonInclude(JsonInclude.Include.NON_NULL)
// public class Instance {
// 
//   @JsonProperty("0020000D")
//   private DicomAttribute<String> studyInstanceUID;
//   @JsonProperty("0020000E")
//   private DicomAttribute<String> seriesInstanceUID;
//   @JsonProperty("00080018")
//   private DicomAttribute<String> sopInstanceUID;
// 
//   public DicomAttribute<String> getStudyInstanceUID() {
//     return studyInstanceUID;
//   }
// 
//   public void setStudyInstanceUID(DicomAttribute<String> studyInstanceUID) {
//     this.studyInstanceUID = studyInstanceUID;
//   }
// 
//   public DicomAttribute<String> getSeriesInstanceUID() {
//     return seriesInstanceUID;
//   }
// 
//   public void setSeriesInstanceUID(DicomAttribute<String> seriesInstanceUID) {
//     this.seriesInstanceUID = seriesInstanceUID;
//   }
// 
//   public DicomAttribute<String> getSopInstanceUID() {
//     return sopInstanceUID;
//   }
// 
//   public void setSopInstanceUID(DicomAttribute<String> sopInstanceUID) {
//     this.sopInstanceUID = sopInstanceUID;
//   }
// 
//   @Override
//   public boolean equals(Object o) {
//     if (this == o) {
//       return true;
//     }
//     if (o == null || getClass() != o.getClass()) {
//       return false;
//     }
//     Instance instance = (Instance) o;
//     return studyInstanceUID.equals(instance.studyInstanceUID) &&
//         seriesInstanceUID.equals(instance.seriesInstanceUID) &&
//         sopInstanceUID.equals(instance.sopInstanceUID);
//   }
// 
//   @Override
//   public int hashCode() {
//     return Objects.hash(studyInstanceUID, seriesInstanceUID, sopInstanceUID);
//   }
// }


// Path: src/main/java/com/google/dicomwebfuse/entities/cache/InstanceContent.java
import com.google.dicomwebfuse.fuse.Command;
import com.google.dicomwebfuse.entities.Instance;
import java.util.concurrent.atomic.AtomicLong;

// Copyright 2019 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.dicomwebfuse.entities.cache;


public class InstanceContent {

  private final Instance instance;
  // offset for macOS for to prevent the following error:
  // https://github.com/osxfuse/osxfuse/issues/587
  private final AtomicLong offset = new AtomicLong();
  private long instanceSize;
  private volatile Command command;