Top Description Inners Constructors Methods
com.amazon.ion.system

public abstract Class IonWriterBuilder

extends Object
Class Inheritance
Known Direct Subclasses
com.amazon.ion.system.IonWriterBuilderBase
Imports
java.io.OutputStream, com.amazon.ion.IonWriter

Common options for writing Ion data streams of any form.

Warning

This class should not be extended by code outside of this library.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
IonWriterBuilder.InitialIvmHandling

A strategy for altering emission of Ion version markers at the start of an Ion stream.

public static enum
IonWriterBuilder.IvmMinimizing

A strategy for minimizing the output of non-initial Ion version markers.

Constructor Summary

AccessConstructor and Description
pack-priv
IonWriterBuilder()

NOT FOR APPLICATION USE

Method Summary

Modifier and TypeMethod and Description
public abstract IonWriter

Returns:

a new IonWriter instance; not null.
build
(OutputStream
the stream that will receive Ion data. Must not be null.
out
)

Builds a new writer based on this builder's configuration properties.

public abstract IonWriterBuilder.InitialIvmHandling

Returns:

the initial IVM strategy. Null indicates the default for the specific output form.
getInitialIvmHandling
()

Gets the strategy for emitting Ion version markers at the start of the stream.

public abstract IonWriterBuilder.IvmMinimizing

Returns:

the IVM minimizing strategy.
getIvmMinimizing
()

Gets the strategy for eliminating Ion version markers mid-stream.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

IonWriterBuilderback to summary
pack-priv IonWriterBuilder()

NOT FOR APPLICATION USE

Method Detail

buildback to summary
public abstract IonWriter build(OutputStream out)

Builds a new writer based on this builder's configuration properties.

Parameters
out:OutputStream

the stream that will receive Ion data. Must not be null.

Returns:IonWriter

a new IonWriter instance; not null.

getInitialIvmHandlingback to summary
public abstract IonWriterBuilder.InitialIvmHandling getInitialIvmHandling()

Gets the strategy for emitting Ion version markers at the start of the stream. By default, IVMs are emitted only when explicitly written or when necessary (for example, before data that's not Ion 1.0, or at the start of Ion binary output).

Returns:IonWriterBuilder.InitialIvmHandling

the initial IVM strategy. Null indicates the default for the specific output form.

getIvmMinimizingback to summary
public abstract IonWriterBuilder.IvmMinimizing getIvmMinimizing()

Gets the strategy for eliminating Ion version markers mid-stream. By default, IVMs are emitted as received or when necessary.

This strategy does not affect handling of IVMs at the start of the stream; that's the job of InitialIvmHandling.

Returns:IonWriterBuilder.IvmMinimizing

the IVM minimizing strategy.

com.amazon.ion.system back to summary

public final Enum IonWriterBuilder.InitialIvmHandling

extends Enum<IonWriterBuilder.InitialIvmHandling>
Class Inheritance

A strategy for altering emission of Ion version markers at the start of an Ion stream.
See Also
IonTextWriterBuilder#setInitialIvmHandling(IonWriterBuilder.InitialIvmHandling)

Field Summary

Modifier and TypeField and Description
public static final IonWriterBuilder.InitialIvmHandling
ENSURE

Always emits an initial IVM, even when the user hasn't explicitly written one.

public static final IonWriterBuilder.InitialIvmHandling
SUPPRESS

Indicates that initial IVMs should be suppressed from the output stream whenever possible, even when they are explicitly written.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static IonWriterBuilder.InitialIvmHandling
public static IonWriterBuilder.InitialIvmHandling[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ENSUREback to summary
public static final IonWriterBuilder.InitialIvmHandling ENSURE

Always emits an initial IVM, even when the user hasn't explicitly written one. If the user does write one, this won't cause an extra to be emitted.

SUPPRESSback to summary
public static final IonWriterBuilder.InitialIvmHandling SUPPRESS

Indicates that initial IVMs should be suppressed from the output stream whenever possible, even when they are explicitly written.

Constructor Detail

InitialIvmHandlingback to summary
private InitialIvmHandling()

Method Detail

valueOfback to summary
public static IonWriterBuilder.InitialIvmHandling valueOf(String name)
valuesback to summary
public static IonWriterBuilder.InitialIvmHandling[] values()
com.amazon.ion.system back to summary

public final Enum IonWriterBuilder.IvmMinimizing

extends Enum<IonWriterBuilder.IvmMinimizing>
Class Inheritance

A strategy for minimizing the output of non-initial Ion version markers.

This strategy does not affect handling of IVMs at the start of a data stream; that's the job of InitialIvmHandling.

See Also
IonTextWriterBuilder#setIvmMinimizing(IonWriterBuilder.IvmMinimizing)

Field Summary

Modifier and TypeField and Description
public static final IonWriterBuilder.IvmMinimizing
ADJACENT

Replaces identical, adjacent IVMs with a single IVM.

public static final IonWriterBuilder.IvmMinimizing
DISTANT

Discards IVMs that don't change the Ion version, even when there's other data between them.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static IonWriterBuilder.IvmMinimizing
public static IonWriterBuilder.IvmMinimizing[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ADJACENTback to summary
public static final IonWriterBuilder.IvmMinimizing ADJACENT

Replaces identical, adjacent IVMs with a single IVM.

DISTANTback to summary
public static final IonWriterBuilder.IvmMinimizing DISTANT

Discards IVMs that don't change the Ion version, even when there's other data between them. This includes adjacent IVMs.

Constructor Detail

IvmMinimizingback to summary
private IvmMinimizing()

Method Detail

valueOfback to summary
public static IonWriterBuilder.IvmMinimizing valueOf(String name)
valuesback to summary
public static IonWriterBuilder.IvmMinimizing[] values()