@@ -266,6 +266,13 @@ object ArrayType {
266266 def apply (elementType : DataType ): ArrayType = ArrayType (elementType, false )
267267}
268268
269+ /**
270+ * The data type for collections of multiple values.
271+ * Internally these are represented as columns that contain a ``scala.collection.Seq``.
272+ *
273+ * @param elementType The data type of values.
274+ * @param containsNull Indicates if values have `null` values
275+ */
269276case class ArrayType (elementType : DataType , containsNull : Boolean ) extends DataType {
270277 private [sql] def buildFormattedString (prefix : String , builder : StringBuilder ): Unit = {
271278 builder.append(
@@ -276,6 +283,12 @@ case class ArrayType(elementType: DataType, containsNull: Boolean) extends DataT
276283 def simpleString : String = " array"
277284}
278285
286+ /**
287+ * A field inside a StructType.
288+ * @param name The name of this field.
289+ * @param dataType The data type of this field.
290+ * @param nullable Indicates if values of this field can be `null` values.
291+ */
279292case class StructField (name : String , dataType : DataType , nullable : Boolean ) {
280293
281294 private [sql] def buildFormattedString (prefix : String , builder : StringBuilder ): Unit = {
@@ -353,6 +366,12 @@ object MapType {
353366 MapType (keyType : DataType , valueType : DataType , true )
354367}
355368
369+ /**
370+ * The data type for Maps. Keys in a map are not allowed to have `null` values.
371+ * @param keyType The data type of map keys.
372+ * @param valueType The data type of map values.
373+ * @param valueContainsNull Indicates if map values have `null` values.
374+ */
356375case class MapType (
357376 keyType : DataType ,
358377 valueType : DataType ,
0 commit comments