// Kofax Custom UI Control Classes // Copyright (c) 2017. All rights reserved. // Kofax Confidential. // Unauthorized use, duplication, or distribution, or disclosure is strictly prohibited. // package com.kofax.mobile.sdk.extract.id.bundle; import java.io.File; /** * An "abstract" representation of file system entity. */ public interface IBundleFile { /** * Indicates if this bundle file instance represents a directory on the underlying * file system. The file may be, despite the name IBundleFile, a directory or a * file. * * @return true if this is a directory, false otherwise */ boolean isDirectory(); /** * Creates a temporary file, and streams the bundle file to the temp file. * * @return The file on disk */ File getFile(); /** * Streams the bundle file to the given file. Similar to {@link #getFile()}, this override * allows the caller to specify the location of the streamed file. When this method returns, it * is safe to read from the file * * @param output The file to write to */ void getFile(File output); /** * The absolute path within whatever storage container this IBundleFile resides. Implementation * dependent. * * @return The absolute path of this file */ String getAbsolutePath(); /** * The name of this IBundleFile with no path information. * * @return The file name */ String getName(); }