org.apache.hadoop.fs
Enum CreateFlag

java.lang.Object
  extended by java.lang.Enum<CreateFlag>
      extended by org.apache.hadoop.fs.CreateFlag
All Implemented Interfaces:
Serializable, Comparable<CreateFlag>

@InterfaceAudience.Public
@InterfaceStability.Evolving
public enum CreateFlag
extends Enum<CreateFlag>

CreateFlag specifies the file create semantic. Users can combine flags like:
EnumSet.of(CreateFlag.CREATE, CreateFlag.APPEND)

Use the CreateFlag as follows:

  1. CREATE - to create a file if it does not exist, else throw FileAlreadyExists.
  2. APPEND - to append to a file if it exists, else throw FileNotFoundException.
  3. OVERWRITE - to truncate a file if it exists, else throw FileNotFoundException.
  4. CREATE|APPEND - to create a file if it does not exist, else append to an existing file.
  5. CREATE|OVERWRITE - to create a file if it does not exist, else overwrite an existing file.
  6. SYNC_BLOCK - to force closed blocks to the disk device. In addition Syncable.hsync() should be called after each write, if true synchronous behavior is required.
Following combination is not valid and will result in HadoopIllegalArgumentException:
  1. APPEND|OVERWRITE
  2. CREATE|APPEND|OVERWRITE


Enum Constant Summary
APPEND
          Append to a file.
CREATE
          Create a file.
LAZY_PERSIST
          Create the block on transient storage (RAM) if available.
OVERWRITE
          Truncate/overwrite a file.
SYNC_BLOCK
          Force closed blocks to disk.
 
Method Summary
static void validate(EnumSet<CreateFlag> flag)
          Validate the CreateFlag and throw exception if it is invalid
static void validate(Object path, boolean pathExists, EnumSet<CreateFlag> flag)
          Validate the CreateFlag for create operation
static CreateFlag valueOf(String name)
          Returns the enum constant of this type with the specified name.
static CreateFlag[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

CREATE

public static final CreateFlag CREATE
Create a file. See javadoc for more description already exists


OVERWRITE

public static final CreateFlag OVERWRITE
Truncate/overwrite a file. Same as POSIX O_TRUNC. See javadoc for description.


APPEND

public static final CreateFlag APPEND
Append to a file. See javadoc for more description.


SYNC_BLOCK

public static final CreateFlag SYNC_BLOCK
Force closed blocks to disk. Similar to POSIX O_SYNC. See javadoc for description.


LAZY_PERSIST

public static final CreateFlag LAZY_PERSIST
Create the block on transient storage (RAM) if available. If transient storage is unavailable then the block will be created on disk. HDFS will make a best effort to lazily write these files to persistent storage, however file contents may be lost at any time due to process/ node restarts, hence there is no guarantee of data durability. This flag must only be used for intermediate data whose loss can be tolerated by the application.

Method Detail

values

public static CreateFlag[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (CreateFlag c : CreateFlag.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static CreateFlag valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

validate

public static void validate(EnumSet<CreateFlag> flag)
Validate the CreateFlag and throw exception if it is invalid

Parameters:
flag - set of CreateFlag
Throws:
HadoopIllegalArgumentException - if the CreateFlag is invalid

validate

public static void validate(Object path,
                            boolean pathExists,
                            EnumSet<CreateFlag> flag)
                     throws IOException
Validate the CreateFlag for create operation

Parameters:
path - Object representing the path; usually String or Path
pathExists - pass true if the path exists in the file system
flag - set of CreateFlag
Throws:
IOException - on error
HadoopIllegalArgumentException - if the CreateFlag is invalid


Copyright © 2014 Apache Software Foundation. All Rights Reserved.