Class CXUnsavedFile

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class CXUnsavedFile
    extends Struct
    implements NativeResource
    Provides the contents of a file that has not yet been saved to disk.

    Each CXUnsavedFile instance provides the name of a file on the system along with the current contents of that file that have not yet been saved to disk.

    Member documentation

    • Filename – the file whose contents have not yet been saved.

      This file must already exist in the file system.

    • Contents – a buffer containing the unsaved contents of this file
    • Length – the length of the unsaved contents of this buffer

    Layout

    
     struct CXUnsavedFile {
         char const * Filename;
         char const * Contents;
         unsigned long Length;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • FILENAME, CONTENTS, LENGTH

        The struct member offsets.
    • Constructor Detail

      • CXUnsavedFile

        public CXUnsavedFile​(java.nio.ByteBuffer container)
        Creates a CXUnsavedFile instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

        The created instance holds a strong reference to the container object.

    • Method Detail

      • sizeof

        public int sizeof()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • Filename

        public java.nio.ByteBuffer Filename()
        Returns a ByteBuffer view of the null-terminated string pointed to by the Filename field.
      • FilenameString

        public java.lang.String FilenameString()
        Decodes the null-terminated string pointed to by the Filename field.
      • Contents

        public java.nio.ByteBuffer Contents()
        Returns a ByteBuffer view of the data pointed to by the Contents field.
      • Length

        public long Length()
        Returns the value of the Length field.
      • Filename

        public CXUnsavedFile Filename​(java.nio.ByteBuffer value)
        Sets the address of the specified encoded string to the Filename field.
      • Contents

        public CXUnsavedFile Contents​(java.nio.ByteBuffer value)
        Sets the address of the specified ByteBuffer to the Contents field.
      • set

        public CXUnsavedFile set​(java.nio.ByteBuffer Filename,
                                 java.nio.ByteBuffer Contents)
        Initializes this struct with the specified values.
      • set

        public CXUnsavedFile set​(CXUnsavedFile src)
        Copies the specified struct data to this struct.
        Parameters:
        src - the source struct
        Returns:
        this struct
      • malloc

        public static CXUnsavedFile malloc()
        Returns a new CXUnsavedFile instance allocated with memAlloc. The instance must be explicitly freed.
      • calloc

        public static CXUnsavedFile calloc()
        Returns a new CXUnsavedFile instance allocated with memCalloc. The instance must be explicitly freed.
      • create

        public static CXUnsavedFile create​(long address)
        Returns a new CXUnsavedFile instance for the specified memory address.
      • createSafe

        @Nullable
        public static CXUnsavedFile createSafe​(long address)
        Like create, but returns null if address is NULL.
      • create

        public static CXUnsavedFile.Buffer create​(long address,
                                                  int capacity)
        Create a CXUnsavedFile.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • createSafe

        @Nullable
        public static CXUnsavedFile.Buffer createSafe​(long address,
                                                      int capacity)
        Like create, but returns null if address is NULL.
      • mallocStack

        public static CXUnsavedFile mallocStack()
        Returns a new CXUnsavedFile instance allocated on the thread-local MemoryStack.
      • callocStack

        public static CXUnsavedFile callocStack()
        Returns a new CXUnsavedFile instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static CXUnsavedFile mallocStack​(MemoryStack stack)
        Returns a new CXUnsavedFile instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static CXUnsavedFile callocStack​(MemoryStack stack)
        Returns a new CXUnsavedFile instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
      • nFilename

        public static java.nio.ByteBuffer nFilename​(long struct)
        Unsafe version of Filename().
      • nFilenameString

        public static java.lang.String nFilenameString​(long struct)
        Unsafe version of FilenameString().
      • nContents

        public static java.nio.ByteBuffer nContents​(long struct)
        Unsafe version of Contents.
      • nLength

        public static long nLength​(long struct)
        Unsafe version of Length().
      • nFilename

        public static void nFilename​(long struct,
                                     java.nio.ByteBuffer value)
        Unsafe version of Filename.
      • nContents

        public static void nContents​(long struct,
                                     java.nio.ByteBuffer value)
        Unsafe version of Contents.
      • nLength

        public static void nLength​(long struct,
                                   long value)
        Sets the specified value to the Length field of the specified struct.
      • validate

        public static void validate​(long struct)
        Validates pointer members that should not be NULL.
        Parameters:
        struct - the struct to validate
      • validate

        public static void validate​(long array,
                                    int count)
        Calls validate(long) for each struct contained in the specified struct array.
        Parameters:
        array - the struct array to validate
        count - the number of structs in array