// Path: ADNLibModule/src/main/java/com/alwaysallthetime/adnlib/data/File.java
// public class File extends Annotatable {
//     @Expose(serialize = false)
//     private boolean complete;
//     @Expose(serialize = false)
//     private String createdAt;
//     @Expose(serialize = false)
//     private Map<String, DerivedFile> derivedFiles;
//     @Expose(serialize = false)
//     private String fileToken;
//     @Expose(serialize = false)
//     private boolean fileTokenRead;
//     @Expose(serialize = false)
//     private ImageInfo imageInfo;
//     private String kind;
//     @Expose(serialize = false)
//     private String mimeType;
//     private String name;
//     @SerializedName("public")
//     private boolean isPublic;
//     @Expose(serialize = false)
//     private String sha1;
//     @Expose(serialize = false)
//     private int size;
//     @Expose(serialize = false)
//     private Source source;
//     @Expose(serialize = false)
//     private int totalSize;
//     private String type;
//     @Expose(serialize = false)
//     private String url;
//     @Expose(serialize = false)
//     private String urlExpires;
//     @Expose(serialize = false)
//     private String urlPermanent;
//     @Expose(serialize = false)
//     private String urlShort;
//     @Expose(serialize = false)
//     private User user;
// 
//     public File() {}
// 
//     public File(String kind, String type, String name, boolean isPublic) {
//         this.kind = kind;
//         this.type = type;
//         this.name = name;
//         this.isPublic = isPublic;
//     }
// 
//     public boolean isComplete() {
//         return complete;
//     }
// 
//     public String getCreatedAt() {
//         return createdAt;
//     }
// 
//     public Map<String, DerivedFile> getDerivedFiles() {
//         return derivedFiles;
//     }
// 
//     public String getFileToken() {
//         return fileToken;
//     }
// 
//     public boolean isFileTokenRead() {
//         return fileTokenRead;
//     }
// 
//     public ImageInfo getImageInfo() {
//         return imageInfo;
//     }
// 
//     public String getKind() {
//         return kind;
//     }
// 
//     public String getMimeType() {
//         return mimeType;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public boolean isPublic() {
//         return isPublic;
//     }
// 
//     public String getSha1() {
//         return sha1;
//     }
// 
//     public int getSize() {
//         return size;
//     }
// 
//     public Source getSource() {
//         return source;
//     }
// 
//     public int getTotalSize() {
//         return totalSize;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public String getUrlExpires() {
//         return urlExpires;
//     }
// 
//     public String getUrlPermanent() {
//         return urlPermanent;
//     }
// 
//     public String getUrlShort() {
//         return urlShort;
//     }
// 
//     public User getUser() {
//         return user;
//     }
// }
// 
// Path: ADNLibModule/src/main/java/com/alwaysallthetime/adnlib/data/ResponseEnvelope.java
// public class ResponseEnvelope<T extends IAppDotNetObject> implements IAppDotNetObject {
//     private ResponseMeta meta;
//     private T data;
// 
//     public ResponseMeta getMeta() {
//         return meta;
//     }
// 
//     public T getData() {
//         return data;
//     }
// }


import com.alwaysallthetime.adnlib.data.File;
import com.alwaysallthetime.adnlib.data.ResponseEnvelope;
import com.google.gson.reflect.TypeToken;
package com.alwaysallthetime.adnlib.response;


public abstract class FileResponseHandler extends AppDotNetResponseEnvelopeHandler<File> {
    protected FileResponseHandler() {
// Path: ADNLibModule/src/main/java/com/alwaysallthetime/adnlib/data/File.java
// public class File extends Annotatable {
//     @Expose(serialize = false)
//     private boolean complete;
//     @Expose(serialize = false)
//     private String createdAt;
//     @Expose(serialize = false)
//     private Map<String, DerivedFile> derivedFiles;
//     @Expose(serialize = false)
//     private String fileToken;
//     @Expose(serialize = false)
//     private boolean fileTokenRead;
//     @Expose(serialize = false)
//     private ImageInfo imageInfo;
//     private String kind;
//     @Expose(serialize = false)
//     private String mimeType;
//     private String name;
//     @SerializedName("public")
//     private boolean isPublic;
//     @Expose(serialize = false)
//     private String sha1;
//     @Expose(serialize = false)
//     private int size;
//     @Expose(serialize = false)
//     private Source source;
//     @Expose(serialize = false)
//     private int totalSize;
//     private String type;
//     @Expose(serialize = false)
//     private String url;
//     @Expose(serialize = false)
//     private String urlExpires;
//     @Expose(serialize = false)
//     private String urlPermanent;
//     @Expose(serialize = false)
//     private String urlShort;
//     @Expose(serialize = false)
//     private User user;
// 
//     public File() {}
// 
//     public File(String kind, String type, String name, boolean isPublic) {
//         this.kind = kind;
//         this.type = type;
//         this.name = name;
//         this.isPublic = isPublic;
//     }
// 
//     public boolean isComplete() {
//         return complete;
//     }
// 
//     public String getCreatedAt() {
//         return createdAt;
//     }
// 
//     public Map<String, DerivedFile> getDerivedFiles() {
//         return derivedFiles;
//     }
// 
//     public String getFileToken() {
//         return fileToken;
//     }
// 
//     public boolean isFileTokenRead() {
//         return fileTokenRead;
//     }
// 
//     public ImageInfo getImageInfo() {
//         return imageInfo;
//     }
// 
//     public String getKind() {
//         return kind;
//     }
// 
//     public String getMimeType() {
//         return mimeType;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public boolean isPublic() {
//         return isPublic;
//     }
// 
//     public String getSha1() {
//         return sha1;
//     }
// 
//     public int getSize() {
//         return size;
//     }
// 
//     public Source getSource() {
//         return source;
//     }
// 
//     public int getTotalSize() {
//         return totalSize;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public String getUrlExpires() {
//         return urlExpires;
//     }
// 
//     public String getUrlPermanent() {
//         return urlPermanent;
//     }
// 
//     public String getUrlShort() {
//         return urlShort;
//     }
// 
//     public User getUser() {
//         return user;
//     }
// }
// 
// Path: ADNLibModule/src/main/java/com/alwaysallthetime/adnlib/data/ResponseEnvelope.java
// public class ResponseEnvelope<T extends IAppDotNetObject> implements IAppDotNetObject {
//     private ResponseMeta meta;
//     private T data;
// 
//     public ResponseMeta getMeta() {
//         return meta;
//     }
// 
//     public T getData() {
//         return data;
//     }
// }


// Path: ADNLibModule/src/main/java/com/alwaysallthetime/adnlib/response/FileResponseHandler.java
import com.alwaysallthetime.adnlib.data.File;
import com.alwaysallthetime.adnlib.data.ResponseEnvelope;
import com.google.gson.reflect.TypeToken;

package com.alwaysallthetime.adnlib.response;


public abstract class FileResponseHandler extends AppDotNetResponseEnvelopeHandler<File> {
    protected FileResponseHandler() {
        super(new TypeToken<ResponseEnvelope<File>>(){});