The class io.opentelemetry.common.AttributeValue seems a more cumbersome alternative to use over the setAttribute overloads for the particular attribute types. It also is rather complicated (e.g., introduces possibilities for null even for primitives). Thus, IMHO it would be best to make this class a private implementation detail in the SDK, instead of a public interface in the API.
The class
io.opentelemetry.common.AttributeValueseems a more cumbersome alternative to use over thesetAttributeoverloads for the particular attribute types. It also is rather complicated (e.g., introduces possibilities fornulleven for primitives). Thus, IMHO it would be best to make this class a private implementation detail in the SDK, instead of a public interface in the API.