javauis/lcdui_qt/src_j2se/com/nokia/mj/impl/fileutils/FileUtility.java
author hgs
Fri, 15 Oct 2010 12:29:39 +0300
changeset 80 d6dafc5d983f
permissions -rw-r--r--
v2.2.19_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     1
/*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     3
* All rights reserved.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     8
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    11
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    12
* Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    13
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    14
* Description:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    15
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    16
*/
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    17
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    18
package com.nokia.mj.impl.fileutils;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    19
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    20
import java.io.DataInputStream;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    21
import java.io.DataOutputStream;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    22
import java.io.IOException;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    23
import java.io.InputStream;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    24
import java.io.OutputStream;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    25
import java.lang.IllegalArgumentException;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    26
import java.lang.SecurityException;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    27
import java.util.Enumeration;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    28
import java.util.Random;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    29
import java.util.Vector;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    30
/*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    31
import javax.microedition.io.Connector;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    32
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    33
import com.nokia.mj.impl.rt.support.Finalizer;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    34
import com.nokia.mj.impl.rt.support.Jvm;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    35
import com.nokia.mj.impl.utils.Logger;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    36
import com.nokia.mj.impl.utils.Tokenizer;*/
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    37
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    38
/**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    39
 * FileUtility provides File handling APIs for internal use in OMJ.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    40
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    41
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    42
 * <strong>Creating FileUtility</strong>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    43
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    44
 * The pathname used to create the FileUtility object must always be abolute. An
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    45
 * absolute pathname is complete in that no other information is required in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    46
 * order to locate the file that it denotes. A relative pathname, in contrast,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    47
 * must be interpreted in terms of information taken from some other pathname.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    48
 * Relative paths cannot be passed to the constructor of FileUtility.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    49
 * FileUtility.getCanonicalPath() can be used to resolve relative paths to
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    50
 * absolute path.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    51
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    52
 * File URL can also be used to create FileUtility object. The format of the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    53
 * input string used to access a FileUtility must follow the format of a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    54
 * fully-qualified, absolute path file name as described by the file URL format
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    55
 * in IETF RFCs 1738 & 2396.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    56
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    57
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    58
 * <strong>FileUtility Behavior</strong>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    59
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    60
 * FileUtility can be created immeterial of whether the intended iTarget exists
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    61
 * or not. This behavior allows the creation of new files and directories on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    62
 * file system. For example, the following code snippet can be used to create a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    63
 * file on the file system.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    64
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    65
 * <pre>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    66
 * try
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    67
 * {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    68
 *     FileUtility fileTarget = new FileUtility(&quot;/home/user1/newFile.txt&quot;);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    69
 *     // If no exception is thrown, URI is valid, but file may or may not exist
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    70
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    71
 *     if (!fileTarget.exists())
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    72
 *     {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    73
 *         fileTarget.createNewFile();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    74
 *     }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    75
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    76
 *     fileTarget = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    77
 * }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    78
 * catch (IOException ex)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    79
 * {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    80
 * }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    81
 * </pre>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    82
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    83
 * Developers should always check for the file's or directory's existence after
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    84
 * a construction to determine if the file or directory actually exists.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    85
 * Similarly, files or directories can be deleted using the delete() method.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    86
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    87
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    88
 * <strong>Streams in FileUtility</strong>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    89
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    90
 * Input and output streams may be opened and closed multiple times on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    91
 * FileUtility instance.<br/>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    92
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    93
 * All FileUtility instances have one underlying InputStream and one
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    94
 * OutputStream. Opening a DataInputStream counts as opening an InputStream, and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    95
 * opening a DataOutputStream counts as opening an OutputStream. A FileUtility
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    96
 * instance can have only one InputStream and one OutputStream open at any one
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    97
 * time. Trying to open more than one InputStream or more than one OutputStream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    98
 * from a StreamConnection causes an IOException. Further detials can be found
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    99
 * in Common Streams.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   100
 * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   101
 * Instances of the FileUtility class are immutable; that is, once created, the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   102
 * pathname represented by a FileUtility object will never change.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   103
 *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   104
 */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   105
public final class FileUtility
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   106
{
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   107
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   108
     * File name passed here should be absolute path.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   109
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   110
     * @param aFilePath
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   111
     *            file/directory that FileUtility must work on.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   112
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   113
    public FileUtility(String aFilePath)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   114
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   115
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   116
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   117
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   118
     * Constructs a FileUtility with given parameters. This is to be used when
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   119
     * trying to access DRM protected content.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   120
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   121
     * @param aFilePath
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   122
     *            absolute path of the file/directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   123
     * @param aDrmIntent
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   124
     *            intent with which the user wants to open the file. The DRM
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   125
     *            intent specified must be one of the values present in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   126
     *            FileDRMContentHandler
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   127
     * @param aExecuteIntent
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   128
     *            specifies whether to execute the intent when an InputStream is
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   129
     *            opened on the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   130
     * @see FileDRMContentHandler
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   131
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   132
    public FileUtility(String aFilePath, int aDrmIntent, boolean aExecuteIntent)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   133
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   134
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   135
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   136
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   137
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   138
     * Creates a new empty file in the specified directory, using the given
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   139
     * prefix and suffix strings to generate its name. If this method returns
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   140
     * successfully then it is guaranteed that:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   141
     * <ol>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   142
     * <li>The file denoted by the returned abstract pathname did not exist
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   143
     * before this method was invoked, and</li>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   144
     * <li>Neither this method nor any of its variants will return the same
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   145
     * abstract pathname again in the current invocation of the virtual machine.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   146
     * </li>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   147
     * </ol>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   148
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   149
     * The prefix argument must be at least three characters long. It is
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   150
     * recommended that the prefix be a short, meaningful string such as "hjb"
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   151
     * or "mail".<br/>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   152
     * The suffix argument may be null, in which case the suffix ".tmp" will be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   153
     * used. <br/>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   154
     * The directory argument should not be null and must provide a directory to
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   155
     * which the file has to be created.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   156
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   157
     * New file will be generated by concatenating the prefix, five or more
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   158
     * internally-generated characters, and the suffix.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   159
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   160
     * @param aPrefix
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   161
     *            The prefix string to be used in generating the file's name
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   162
     *            must be at least three characters long
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   163
     * @param aSuffix
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   164
     *            The suffix string to be used in generating the file's name may
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   165
     *            be null, in which case the suffix ".tmp" will be used
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   166
     * @param aDirectory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   167
     *            The directory in which the file is to be created
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   168
     * @return A new FileUtility instance denoting the newly created file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   169
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   170
     *             if the file could not be created or the directory does not
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   171
     *             exist
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   172
     * @throws IllegalArgumentException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   173
     *             if the prefix is fewer than three characters or directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   174
     *             parameter is null
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   175
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   176
     *             if access was not allowed to create a file in the directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   177
     *             specified
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   178
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   179
    public static FileUtility createTempFile(String aPrefix, String aSuffix,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   180
            FileUtility aDirectory) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   181
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   182
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   183
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   184
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   185
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   186
     * Resolves incomplete path by prefixing the path with one of the roots of
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   187
     * the file system.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   188
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   189
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   190
     * <pre>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   191
     * Example of S60:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   192
     *     String resolved = FileUtility.resolve(&quot;\\data\\images\\existingFile&quot;);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   193
     *     // resolved will be C:\data\images\existingFile
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   194
     * </pre>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   195
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   196
     * @param aPath
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   197
     *            incomplete path that does not contain drive information.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   198
     * @return resolved path or null if not found
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   199
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   200
    public static String resolveDrive(String aPath)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   201
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   202
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   203
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   204
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   205
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   206
     * A canonical pathname is both absolute and unique. The precise definition
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   207
     * of canonical form is system-dependent. This method first converts this
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   208
     * pathname to absolute form if necessary, and then maps it to its unique
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   209
     * form in a system-dependent way. This typically involves removing
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   210
     * redundant names such as "." and ".." from the pathname, resolving
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   211
     * symbolic links (on UNIX platforms), and converting drive letters to a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   212
     * standard case (on Microsoft Windows platforms).
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   213
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   214
     * Every pathname that denotes an existing file or directory has a unique
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   215
     * canonical form. Every pathname that denotes a nonexistent file or
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   216
     * directory also has a unique canonical form.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   217
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   218
     * @param aPath
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   219
     * @return The canonical pathname string denoting the same file or
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   220
     *         directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   221
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   222
     *             If an I/O error occurs, which is possible because the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   223
     *             construction of the canonical pathname may require filesystem
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   224
     *             queries
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   225
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   226
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   227
    public static String getCanonicalPath(String aPath) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   228
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   229
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   230
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   231
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   232
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   233
     * Get file Content ID. Only DRM protected files have content Id.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   234
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   235
     * @param full
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   236
     *            path to file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   237
     * @return Content ID. Null if cannot be read or does not exists.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   238
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   239
    public static String getContentId(String aPath)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   240
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   241
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   242
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   243
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   244
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   245
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   246
     * Open and return an input stream for a connection. The connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   247
     * iTarget must already exist and be accessible for the input stream to be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   248
     * created.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   249
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   250
     * @return An open input stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   251
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   252
     *             if an I/O error occurs, if the method is invoked on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   253
     *             directory, if the connection's iTarget does not yet exist, or
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   254
     *             the connection's iTarget is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   255
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   256
    public InputStream openInputStream() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   257
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   258
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   259
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   260
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   261
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   262
     * Open and return a data input stream for a connection. The connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   263
     * iTarget must already exist and be accessible for the input stream to be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   264
     * created.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   265
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   266
     * @return An open input stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   267
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   268
     *             If an I/O error occurs, if the method is invoked on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   269
     *             directory, if the connection's iTarget does not yet exist, or
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   270
     *             the connection's iTarget is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   271
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   272
    public DataInputStream openDataInputStream() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   273
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   274
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   275
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   276
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   277
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   278
     * Open and return an output stream for a connection. The output stream is
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   279
     * positioned at the start of the file. Writing data to the output stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   280
     * overwrites the contents of the files (i.e. does not insert data). Writing
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   281
     * data to output streams beyond the current end of file automatically
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   282
     * extends the file size. The connection's iTarget must already exist and be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   283
     * accessible for the output stream to be created. openOutputStream(long)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   284
     * should be used to position an output stream to a different position in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   285
     * the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   286
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   287
     * Changes made to a file through an output stream may not be immediately
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   288
     * made to the actual file residing on the file system because platform and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   289
     * implementation specific use of caching and buffering of the data. Stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   290
     * contents and file length extensions are not necessarily visible outside
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   291
     * of the application immediately unless flush() is called on the stream.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   292
     * The returned output stream is automatically and synchronously flushed
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   293
     * when it is closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   294
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   295
     * @return An open output stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   296
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   297
     *             If an I/O error occurs, if the method is invoked on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   298
     *             directory, the file does not yet exist, or the connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   299
     *             iTarget is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   300
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   301
    public OutputStream openOutputStream() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   302
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   303
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   304
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   305
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   306
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   307
     * Open and return a data output stream for a connection. The output stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   308
     * is positioned at the start of the file. Writing data to the output stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   309
     * overwrites the contents of the files (i.e. does not insert data). Writing
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   310
     * data to output streams beyond the current end of file automatically
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   311
     * extends the file size. The connection's iTarget must already exist and be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   312
     * accessible for the output stream to be created. openOutputStream(long)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   313
     * should be used to position an output stream to a different position in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   314
     * the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   315
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   316
     * Changes made to a file through an output stream may not be immediately
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   317
     * made to the actual file residing on the file system because platform and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   318
     * implementation specific use of caching and buffering of the data. Stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   319
     * contents and file length extensions are not necessarily visible outside
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   320
     * of the application immediately unless flush() is called on the stream.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   321
     * The returned output stream is automatically and synchronously flushed
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   322
     * when it is closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   323
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   324
     * @return An open output stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   325
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   326
     *             If an I/O error occurs, if the method is invoked on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   327
     *             directory, the file does not yet exist, or the connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   328
     *             iTarget is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   329
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   330
    public DataOutputStream openDataOutputStream() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   331
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   332
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   333
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   334
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   335
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   336
     * This method opens an output stream and positions it at the indicated byte
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   337
     * offset in the file. Data written to the returned output stream at that
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   338
     * position overwrites any existing data until EOF is reached, and then
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   339
     * additional data is appended. The connection's iTarget must already exist
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   340
     * and be accessible for the output stream to be created.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   341
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   342
     * Changes made to a file through an output stream may not be immediately
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   343
     * made to the actual file residing on the file system because platform and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   344
     * implementation specific use of caching and buffering of the data. Stream
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   345
     * contents and file length extensions are not necessarily visible outside
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   346
     * of the application immediately unless flush() is called on the stream.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   347
     * The returned output stream is automatically and synchronously flushed
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   348
     * when it is closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   349
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   350
     * @param aByteOffset
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   351
     *            number of bytes to skip over from the beginning of the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   352
     *            when positioning the start of the OutputStream. If the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   353
     *            provided offset is larger than or equal to the current file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   354
     *            size, the OutputStream is positioned at the current end of the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   355
     *            file for appending.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   356
     * @return an open OutputStream positioned at the byte offset in the file,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   357
     *         or the end of the file if the offset is greater than the size of
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   358
     *         the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   359
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   360
     *             If an I/O error occurs, if the method is invoked on a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   361
     *             directory, the file does not yet exist, or the connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   362
     *             iTarget is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   363
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   364
    public OutputStream openOutputStream(long aByteOffset) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   365
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   366
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   367
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   368
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   369
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   370
     * Checks to see if current FileUtility is pointing to a File.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   371
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   372
     * @return true if the current iTarget is a file. false in case the iTarget
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   373
     *         is not a file or is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   374
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   375
    public boolean isFile()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   376
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   377
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   378
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   379
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   380
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   381
     * Checks to see if the current FileUtility is pointing to a Directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   382
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   383
     * @return true if the current iTarget is a directory. false in case the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   384
     *         iTarget is not a directory or is not accessbile.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   385
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   386
    public boolean isDirectory()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   387
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   388
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   389
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   390
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   391
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   392
     * Checks to see if the current FileUtility iTarget exists.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   393
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   394
     * @return true if the current iTarget exists. false in case the iTarget did
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   395
     *         not exist or there was a fault while reading or accessing the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   396
     *         file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   397
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   398
    public boolean exists()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   399
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   400
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   401
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   402
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   403
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   404
     * Checks to see if the current FileUtility iTarget can be read from the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   405
     * current application.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   406
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   407
     * @return true if read access is allowed to the file. false if read access
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   408
     *         is not allowed or if there was error reading the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   409
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   410
    public boolean canRead()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   411
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   412
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   413
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   414
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   415
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   416
     * Checks to see if the current FileUtility iTarget can be written to from
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   417
     * the current application.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   418
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   419
     * @return true if write access is allowed to the file. false if write
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   420
     *         access is not allowed or if there was error reading the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   421
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   422
    public boolean canWrite()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   423
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   424
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   425
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   426
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   427
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   428
     * Tests whether the file named by pathname is a hidden file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   429
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   430
     * The exact definition of hidden is system-dependent. On UNIX systems, a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   431
     * file is considered to be hidden if its name begins with a period
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   432
     * character ('.'). On Microsoft Windows systems, a file is considered to be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   433
     * hidden if it has been marked as such in the filesystem.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   434
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   435
     * NOTE: There is no method provided to hide a file/directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   436
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   437
     * @return true if the file exists, is accessible, and is hidden, otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   438
     *         false.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   439
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   440
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   441
    public boolean isHidden(String aPath)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   442
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   443
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   444
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   445
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   446
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   447
     * Tests whether the file named by pathname is a hidden file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   448
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   449
     * The exact definition of hidden is system-dependent. On UNIX systems, a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   450
     * file is considered to be hidden if its name begins with a period
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   451
     * character ('.'). On Microsoft Windows systems, a file is considered to be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   452
     * hidden if it has been marked as such in the filesystem.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   453
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   454
     * NOTE: There is no method provided to hide a file/directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   455
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   456
     * @return true if the file exists, is accessible, and is hidden, otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   457
     *         false.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   458
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   459
    public boolean isHidden()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   460
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   461
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   462
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   463
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   464
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   465
     * Sets the file or directory readable attribute to the indicated value. The
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   466
     * readable attribute for the file on the actual file system is set
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   467
     * immediately upon invocation of this method.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   468
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   469
     * @param aReadable
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   470
     *            The new state of the readable flag of the selected file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   471
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   472
     *             if the connection's iTarget does not exist or is not
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   473
     *             accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   474
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   475
    public void setReadable(boolean aReadable) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   476
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   477
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   478
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   479
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   480
     * Sets the selected file or directory writable attribute to the indicated
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   481
     * value. The writable attribute for the file on the actual file system is
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   482
     * set immediately upon invocation of the method.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   483
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   484
     * @param aWritable
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   485
     *            The new state of the writable flag of the selected file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   486
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   487
     *             if the connection's iTarget does not exist or is not
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   488
     *             accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   489
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   490
    public void setWritable(boolean aWritable) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   491
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   492
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   493
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   494
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   495
     * Sets the hidden attribute of the selected file to the value provided. The
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   496
     * attribute is applied to the file on the actual file system immediately
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   497
     * upon invocation of this method if the file system and platform support
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   498
     * it.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   499
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   500
     * If the file system doesn't support a hidden attribute, this method is
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   501
     * ignored and isHidden() always returns false. Since the exact definition
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   502
     * of hidden is system-dependent, this method only works on file systems
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   503
     * that support a settable file attribute.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   504
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   505
     * For example, on Win32 and FAT file systems, a file may be considered
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   506
     * hidden if it has been marked as such in the file's attributes; therefore
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   507
     * this method is applicable.<br/>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   508
     * However on UNIX systems a file may be considered to be hidden if its name
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   509
     * begins with a period character ('.'). In the UNIX case, this method may
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   510
     * be ignored and the method to make a file hidden may be the rename()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   511
     * method.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   512
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   513
     * @param aHidden
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   514
     *            The new state of the hidden flag of the selected file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   515
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   516
     *             if the connection's iTarget does not exist or is not
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   517
     *             accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   518
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   519
    public void setHidden(boolean aHidden) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   520
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   521
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   522
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   523
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   524
     * Retrieves the size of the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   525
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   526
     * @return size of file in bytes or -1 if the file did not exist
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   527
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   528
     *             in case there was any error retrieving the file size.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   529
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   530
    public long fileSize() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   531
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   532
        return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   533
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   534
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   535
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   536
     * Determines the size in bytes on a file system of all of the files that
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   537
     * are contained in a directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   538
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   539
     * @param aIncludeSubDirs
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   540
     *            specifies if dir size has to be taken recursively
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   541
     * @return The size in bytes occupied by the files included in the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   542
     *         directory, \ or -1 if the directory does not exist or is not
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   543
     *         accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   544
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   545
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   546
     *             if the method is invoked on a file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   547
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   548
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   549
     *             if the security of the application does not have read access
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   550
     *             to the file.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   551
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   552
    public long directorySize(boolean aIncludeSubDirs) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   553
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   554
        return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   555
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   556
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   557
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   558
     * Determines the total size of the file system the iTarget resides on.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   559
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   560
     * @return The total size of the file system in bytes, or -1 if the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   561
     *         system is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   562
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   563
    public long totalSize()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   564
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   565
        return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   566
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   567
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   568
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   569
     * Determines the free memory that is available on the file system the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   570
     * or directory resides on. This may only be an estimate and may vary based
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   571
     * on platform-specific file system blocking and metadata information.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   572
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   573
     * @return The available size in bytes on a file system, or -1 if the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   574
     *         system is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   575
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   576
    public long availableSize()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   577
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   578
        return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   579
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   580
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   581
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   582
     * Determines the used memory of a file system the connection's iTarget
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   583
     * resides on. This may only be an estimate and may vary based on
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   584
     * platform-specific file system blocking and metadata information.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   585
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   586
     * @return The used size of bytes on a file system, or -1 if the file system
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   587
     *         is not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   588
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   589
    public long usedSize()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   590
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   591
        return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   592
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   593
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   594
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   595
     * Returns the time that the FileUtility currently points to was last
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   596
     * modified.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   597
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   598
     * @return A long value representing the time the file was last modified,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   599
     *         measured in milliseconds, 0L if an I/O error occurs. If
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   600
     *         modification date is not supported by the underlying platform
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   601
     *         and/or file system, then 0L is also returned. If the connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   602
     *         iTarget does not exist or is not accessible, 0L is returned.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   603
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   604
    public long lastModified()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   605
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   606
        return 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   607
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   608
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   609
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   610
     * Fetches the name of the iTarget currently pointed to by FileUtility. If
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   611
     * the iTarget is a file, the result is of the form <file.extention> else if
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   612
     * it is a directory it has a trailing "/" of the form <directory/>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   613
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   614
     * @return name of the iTarget currently pointed to.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   615
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   616
    public String getName()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   617
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   618
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   619
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   620
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   621
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   622
     * Fetches the path to the iTarget currently pointed to by FileUtility.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   623
     * Return value is of the form /<root>/<directory>/
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   624
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   625
     * @return path to the iTarget currently pointed to.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   626
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   627
    public String getPath()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   628
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   629
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   630
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   631
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   632
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   633
     * Returns FileUtility object that points to the parent of the current
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   634
     * iTarget.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   635
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   636
     * @return The parent directory named by this FileUtility, or null if this
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   637
     *         pathname does not name a parent
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   638
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   639
    public FileUtility getParentFile()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   640
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   641
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   642
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   643
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   644
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   645
     * Returns the absolute path traced from the root of the file system.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   646
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   647
     * @return the absolute path of the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   648
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   649
    public String getAbsolutePath()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   650
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   651
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   652
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   653
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   654
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   655
     * Returns the full file URL including the scheme, host, and path from where
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   656
     * the file or directory specified in the Connector.open() method is opened.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   657
     * The string returned is in an escaped ASCII format as defined by RFC 2396.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   658
     * The resulting String looks as follows:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   659
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   660
     * <pre>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   661
     * file://&lt;host&gt;/&lt;root&gt;/&lt;directory&gt;/&lt;filename&gt;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   662
     * </pre>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   663
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   664
     * @return The URL of a file or directory in the format specified above.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   665
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   666
    public String getURL()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   667
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   668
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   669
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   670
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   671
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   672
     * Creates a file corresponding to the file string provided constructor of
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   673
     * this FileUtility. The file is created immediately on the actual file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   674
     * system upon invocation of this method. Files are created with zero length
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   675
     * and data can be put into the file through output streams opened on the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   676
     * file. This method does not create any directories specified in the file's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   677
     * path.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   678
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   679
     * @return true if the file did not exist and was successfully created;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   680
     *         false if the file already existed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   681
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   682
     *             in case an error occured; or if the URL/Path given during
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   683
     *             construction had a trailing "/"(or "\\") to indicate that it
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   684
     *             is a directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   685
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   686
     *             in case the access was denied to create the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   687
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   688
    public boolean createNewFile() throws IOException, SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   689
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   690
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   691
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   692
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   693
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   694
     * Creates the directory named by this pathname. Directories in the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   695
     * specified path are not recursively created and must be explicitly created
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   696
     * before sub directories can be created.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   697
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   698
     * @return true if and only if the directory was created; false if the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   699
     *         directory already existed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   700
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   701
     *             in case an error occurred; or if the URL/Path given during
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   702
     *             construction did not have trailing "/"(or "\\") to indicating
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   703
     *             that it is not supposed to be a directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   704
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   705
     *             in case the access was denied to create the directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   706
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   707
    public boolean mkdir() throws IOException, SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   708
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   709
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   710
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   711
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   712
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   713
     * Creates the directory named by this pathname, including any necessary but
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   714
     * nonexistent parent directories. Note that if this operation fails it may
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   715
     * have succeeded in creating some of the necessary parent directories.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   716
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   717
     * @return true if and only if the directory was created, along with all
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   718
     *         necessary parent directories; false otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   719
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   720
     *             in case an error occurred
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   721
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   722
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   723
    public boolean mkdirs() throws IOException, SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   724
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   725
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   726
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   727
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   728
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   729
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   730
     * Deletes the file or directory denoted by this pathname. If this pathname
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   731
     * denotes a directory, then the directory must be empty in order to be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   732
     * deleted.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   733
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   734
     * All open input and output streams are automatically flushed and closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   735
     * Attempts to further use those streams result in an IOException. The
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   736
     * FileUtility instance object remains available for use.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   737
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   738
     * @return true if and only if the file or directory is successfully
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   739
     *         deleted; false otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   740
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   741
     *             if access was denied to the file/directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   742
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   743
    public boolean delete() throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   744
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   745
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   746
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   747
    
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   748
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   749
     * Deletes the file or directory denoted by this pathname. If this pathname
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   750
     * denotes a directory, then the directory must be empty in order to be
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   751
     * deleted. Deletes the file or directory even if it is marked as read-only.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   752
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   753
     * All open input and output streams are automatically flushed and closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   754
     * Attempts to further use those streams result in an IOException. The
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   755
     * FileUtility instance object remains available for use.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   756
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   757
     * @return true if and only if the file or directory is successfully
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   758
     *         deleted; false otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   759
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   760
     *             if access was denied to the file/directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   761
     */    
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   762
    public boolean forceDelete() throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   763
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   764
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   765
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   766
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   767
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   768
     * Renames the selected file or directory to a new name in the same
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   769
     * directory. The file or directory is renamed immediately on the actual
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   770
     * file system upon invocation of this method. No file or directory by the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   771
     * original name exists after this method call.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   772
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   773
     * All previously open input and output streams are automatically flushed
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   774
     * and closed. Attempts to further use those streams result in an
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   775
     * IOException. The FileUtility instance object remains open and available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   776
     * for use, referring now to the file or directory by its new name.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   777
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   778
     * @param aNewName
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   779
     *            new name to which the current iTarget has to be renamed
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   780
     * @return true if rename succeeded, false otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   781
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   782
     *             if the connection's iTarget does not exist, the connection's
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   783
     *             iTarget is not accessible, a file or directory already exists
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   784
     *             by the newName, or newName is an invalid filename for the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   785
     *             platform (e.g. contains characters invalid in a filename on
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   786
     *             the platform)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   787
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   788
     *             if access/permission was denied to rename file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   789
     * @throws IllegalArgumentException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   790
     *             if newName contains any path specification.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   791
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   792
    public boolean rename(String aNewName) throws IOException,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   793
                SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   794
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   795
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   796
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   797
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   798
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   799
     * Renames the iTarget to new file. Similar to rename, but allows us to
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   800
     * rename files to different paths in the file system. Allows for faster
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   801
     * move within a file system.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   802
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   803
     * @param aNewName
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   804
     *            new path to which it has to be moved. Note that the newName
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   805
     *            should be absolute path.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   806
     * @return true in case rename was successful, false otherwise
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   807
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   808
     *             in case some unexpected error occured.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   809
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   810
    public boolean renameTo(String aNewName) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   811
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   812
        return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   813
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   814
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   815
    public String[] listFileArray(boolean aIncludeHidden) throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   816
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   817
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   818
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   819
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   820
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   821
     * Gets a filtered list of files and directories contained in a directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   822
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   823
     * @param filter
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   824
     *            String against which all files and directories are matched for
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   825
     *            retrieval. includeHidden: boolean indicating whether files
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   826
     *            marked as hidden should be included or not in the list of
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   827
     *            files and directories returned.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   828
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   829
     * @return Vector of strings, denoting the files and directories in the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   830
     *         directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   831
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   832
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   833
     *             if invoked on a file, the directory does not exist, the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   834
     *             directory is not accessible, or an I/O error occurs.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   835
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   836
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   837
     *             if the security of the application does not have read access
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   838
     *             for the connection's iTarget.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   839
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   840
     * @throws IllegalModeException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   841
     *             If application does have read access to the file but has
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   842
     *             opened the connection in Connector.WRITE mode.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   843
     * @throws ConnectionClosedException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   844
     *             If Connection is closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   845
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   846
    public Vector listFiles(String aFilter, boolean aIncludeHidden)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   847
    throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   848
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   849
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   850
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   851
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   852
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   853
     * Gets a filtered list of files and directories contained in a directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   854
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   855
     * @param aFilter
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   856
     *            String against which all files and directories are matched for
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   857
     *            retrieval. includeHidden: boolean indicating whether files
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   858
     *            marked as hidden should be included or not in the list of
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   859
     *            files and directories returned.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   860
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   861
     * @return Enumeration of strings, denoting the files and directories in the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   862
     *         directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   863
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   864
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   865
     *             if invoked on a file, the directory does not exist, the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   866
     *             directory is not accessible, or an I/O error occurs.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   867
     *             SecurityException: if the security of the application does
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   868
     *             not have read access for the connection's iTarget.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   869
     *             IllegalModeException: If application does have read access to
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   870
     *             the file but has opened the connection in Connector.WRITE
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   871
     *             mode. ConnectionClosedException: If Connection is closed.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   872
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   873
    public Enumeration list(String aFilter, boolean aIncludeHidden)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   874
    throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   875
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   876
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   877
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   878
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   879
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   880
     * Gets a list of all visible files and directories contained in a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   881
     * directory. The directory is the connection's iTarget as specified in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   882
     * constructor.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   883
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   884
     * Any hidden files and directories in the directory are not included in the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   885
     * returned list. Any current directory indication (".") and any parent
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   886
     * directory indication ("..") is not included in the list of files and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   887
     * directories returned.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   888
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   889
     * @return An Enumeration of strings, denoting the files and directories in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   890
     *         the directory. The string returned contain only the file or
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   891
     *         directory name and does not contain any path prefix (to get a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   892
     *         complete path for each file or directory, prepend getPath()).
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   893
     *         Directories are denoted with a trailing slash "/" in their
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   894
     *         returned name. The Enumeration has zero length if the directory
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   895
     *         is empty.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   896
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   897
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   898
    public Enumeration list() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   899
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   900
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   901
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   902
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   903
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   904
     * Gets a list of all visible files and directories contained in a
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   905
     * directory. The directory is the connection's iTarget as specified in
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   906
     * constructor.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   907
     * <p>
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   908
     * Any hidden files and directories in the directory are not included in the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   909
     * returned list. Any current directory indication (".") and any parent
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   910
     * directory indication ("..") is not included in the list of files and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   911
     * directories returned.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   912
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   913
     * @return An list of FileUtility objects, denoting the files and
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   914
     *         directories in the directory.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   915
     * @throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   916
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   917
    public FileUtility[] listFiles() throws IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   918
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   919
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   920
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   921
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   922
    /**
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   923
     * Truncates the file, discarding all data from the given byte offset to the
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   924
     * current end of the file
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   925
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   926
     * @param aByteOffset
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   927
     *            Offset into the file from which truncation occurs.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   928
     *
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   929
     * @throws java.io.IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   930
     *             if invoked on a directory or the file does not exist or is
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   931
     *             not accessible.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   932
     * @throws SecurityException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   933
     *             if the security of the application does not have write access
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   934
     *             for the connection's iTarget.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   935
     * @throws IllegalArgumentException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   936
     *             if byteOffset is less than zero.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   937
     */
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   938
    public void truncate(long aByteOffset) throws java.io.IOException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   939
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   940
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   941
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   942
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   943
    public String toString()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   944
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   945
        return null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   946
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   947
}