/** * Construct a new immutable {@code JCGLBufferUpdate} instance. * @param buffer The value for the {@code buffer} attribute * @param data The value for the {@code data} attribute * @param dataUpdateRange The value for the {@code dataUpdateRange} attribute * @return An immutable JCGLBufferUpdate instance */ public static <T extends JCGLBufferWritableType> JCGLBufferUpdate<T> of(T buffer, ByteBuffer data, UnsignedRangeInclusiveL dataUpdateRange) { return new JCGLBufferUpdate<T>(buffer, data, dataUpdateRange); }
/** * Builds a new {@link JCGLBufferUpdate JCGLBufferUpdate}. * @return An immutable instance of JCGLBufferUpdate * @throws java.lang.IllegalStateException if any required attributes are missing */ public JCGLBufferUpdate<T> build() { if (initBits != 0) { throw new IllegalStateException(formatRequiredAttributesMessage()); } return new JCGLBufferUpdate<T>(this); }