Java tutorial
// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // https://github.com/Talend/data-prep/blob/master/LICENSE // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprep.transformation.actions.text; import java.util.EnumSet; import java.util.Set; import org.apache.commons.lang.WordUtils; import org.talend.dataprep.api.action.Action; import org.talend.dataprep.api.dataset.ColumnMetadata; import org.talend.dataprep.api.dataset.row.DataSetRow; import org.talend.dataprep.api.type.Type; import org.talend.dataprep.transformation.actions.category.ActionCategory; import org.talend.dataprep.transformation.actions.common.AbstractActionMetadata; import org.talend.dataprep.transformation.actions.common.ColumnAction; import org.talend.dataprep.transformation.api.action.context.ActionContext; @Action(AbstractActionMetadata.ACTION_BEAN_PREFIX + ProperCase.PROPER_CASE_ACTION_NAME) public class ProperCase extends AbstractActionMetadata implements ColumnAction { public static final String PROPER_CASE_ACTION_NAME = "propercase"; //$NON-NLS-1$ @Override public String getName() { return PROPER_CASE_ACTION_NAME; } @Override public boolean acceptField(ColumnMetadata column) { return Type.STRING.equals(Type.get(column.getType())); } @Override public String getCategory() { return ActionCategory.STRINGS.getDisplayName(); } /** * @see ColumnAction#applyOnColumn(DataSetRow, ActionContext) */ @Override public void applyOnColumn(DataSetRow row, ActionContext context) { final String columnId = context.getColumnId(); final String toProperCase = row.get(columnId); if (toProperCase != null) { row.set(columnId, WordUtils.capitalizeFully(toProperCase)); } } @Override public Set<Behavior> getBehavior() { return EnumSet.of(Behavior.VALUES_COLUMN); } }