Package org.openrefine.operations.cell
Class MultiValuedCellJoinOperation
- java.lang.Object
-
- org.openrefine.operations.cell.MultiValuedCellJoinOperation
-
- All Implemented Interfaces:
Operation
public class MultiValuedCellJoinOperation extends Object implements Operation
Within a record, joins the non-blank cells of a column into the first cell, with the specified separator. The keyColumnName can be used to specify which column should be treated as record key (although this parameter has never been exposed in the UI as of 2020-05).- Author:
- Antonin Delpeuch
-
-
Field Summary
Fields Modifier and Type Field Description protected String_columnNameprotected String_keyColumnNameprotected String_separator
-
Constructor Summary
Constructors Constructor Description MultiValuedCellJoinOperation(String columnName, String keyColumnName, String separator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ChangeResultapply(Grid projectState, ChangeContext context)Derives the new grid state from the current grid state.StringgetColumnName()StringgetDescription()A short human-readable description of what this operation does.StringgetKeyColumnName()StringgetSeparator()protected static RecordMapperrecordMapper(int columnIdx, String separator)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openrefine.operations.Operation
getOperationId, isReproducible
-
-
-
-
Method Detail
-
apply
public ChangeResult apply(Grid projectState, ChangeContext context) throws OperationException
Description copied from interface:OperationDerives the new grid state from the current grid state. Executing this method should be quick (even on large datasets) since it is expected to just derive the new grid from the existing one without actually executing any expensive computation. Long-running computations should rather go in the derivation of aChangeDatawhich will be fetched asynchronously.- Specified by:
applyin interfaceOperation- Parameters:
projectState- the state of the grid before the change- Returns:
- an object which bundles up various pieces of information produced by the operation: primarily, the new grid after applying the operation. This object can be subclassed to expose more information, which should be serializable with Jackson so that it reaches the frontend.
- Throws:
OperationException- when the change cannot be applied to the given grid
-
getColumnName
public String getColumnName()
-
getKeyColumnName
public String getKeyColumnName()
-
getSeparator
public String getSeparator()
-
getDescription
public String getDescription()
Description copied from interface:OperationA short human-readable description of what this operation does.- Specified by:
getDescriptionin interfaceOperation
-
recordMapper
protected static RecordMapper recordMapper(int columnIdx, String separator)
-
-