@@ -68,7 +68,7 @@ feature -- Element Change
6868 start_column_set : start_column = a_val
6969 end
7070
71- force_raw_data (a_data : EG_ROW_DATA )
71+ force_row_data (a_data : EG_ROW_DATA )
7272 -- Add an item `a_data` to the list of `row_data`
7373 local
7474 l_row_data : like row_data
@@ -83,6 +83,14 @@ feature -- Element Change
8383 row_data := l_row_data
8484 end
8585
86+ set_row_data (a_data : like row_data )
87+ -- Set `row_data` with `a_data`.
88+ do
89+ row_data := a_data
90+ ensure
91+ row_data_set : row_data = a_data
92+ end
93+
8694 force_row_metadata (a_metadata : EG_DIMENSION_PROPERTIES )
8795 -- Add an item `a_metadata` to the list of `row_metadata`
8896 local
@@ -98,6 +106,14 @@ feature -- Element Change
98106 row_metadata := l_row_metadata
99107 end
100108
109+ set_row_metadata (a_data : like row_metadata )
110+ -- Set `row_metadata` with `a_data`.
111+ do
112+ row_metadata := a_data
113+ ensure
114+ row_metadata_set : row_metadata = a_data
115+ end
116+
101117
102118 force_column_metadata (a_metadata : EG_DIMENSION_PROPERTIES )
103119 -- Add an item `a_metadata` to the list of `column_metadata`
@@ -114,10 +130,45 @@ feature -- Element Change
114130 column_metadata := l_column_metadata
115131 end
116132
133+ set_column_metadata (a_data : like column_metadata )
134+ -- Set `column_metadata` with `a_data`.
135+ do
136+ column_metadata := a_data
137+ ensure
138+ column_metadata_set : column_metadata = a_data
139+ end
140+
117141feature -- Eiffel to JSON
118142
119143 to_json : JSON_OBJECT
144+ -- Json representation of the current object.
145+ local
146+ j_array : JSON_ARRAY
120147 do
121- create Result .make
148+ create Result .make_empty
149+ Result .put (create {JSON_NUMBER }.make_integer (start_row ), " startRow" )
150+ Result .put (create {JSON_NUMBER }.make_integer (start_column ), " startColumn" )
151+ if attached row_data as l_rd then
152+ create j_array .make (l_rd .count )
153+ across l_rd as ic loop
154+ j_array .add (ic .item .to_json )
155+ end
156+ Result .put (j_array , " rowData" )
157+ end
158+ if attached row_metadata as l_rm then
159+ create j_array .make (l_rm .count )
160+ across l_rm as ic loop
161+ j_array .add (ic .item .to_json )
162+ end
163+ Result .put (j_array , " rowMetadata" )
164+ end
165+ if attached column_metadata as l_cm then
166+ create j_array .make (l_cm .count )
167+ across l_cm as ic loop
168+ j_array .add (ic .item .to_json )
169+ end
170+ Result .put (j_array , " columnMetadata" )
171+ end
172+
122173 end
123174end
0 commit comments