org.pentaho.di.trans.steps.file.BaseFileInputAdditionalField.java Source code

Java tutorial

Introduction

Here is the source code for org.pentaho.di.trans.steps.file.BaseFileInputAdditionalField.java

Source

/*! ******************************************************************************
 *
 * Pentaho Data Integration
 *
 * Copyright (C) 2017 by Hitachi Vantara : http://www.pentaho.com
 *
 *******************************************************************************
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 ******************************************************************************/

package org.pentaho.di.trans.steps.file;

import org.apache.commons.lang.StringUtils;
import org.pentaho.di.core.injection.Injection;

/**
 * Additional fields settings.
 */
public class BaseFileInputAdditionalField implements Cloneable {

    /** Additional fields **/
    @Injection(name = "FILE_SHORT_FILE_FIELDNAME")
    public String shortFilenameField;
    @Injection(name = "FILE_EXTENSION_FIELDNAME")
    public String extensionField;
    @Injection(name = "FILE_PATH_FIELDNAME")
    public String pathField;
    @Injection(name = "FILE_SIZE_FIELDNAME")
    public String sizeField;
    @Injection(name = "FILE_HIDDEN_FIELDNAME")
    public String hiddenField;
    @Injection(name = "FILE_LAST_MODIFICATION_FIELDNAME")
    public String lastModificationField;
    @Injection(name = "FILE_URI_FIELDNAME")
    public String uriField;
    @Injection(name = "FILE_ROOT_URI_FIELDNAME")
    public String rootUriField;

    @Override
    public Object clone() {
        try {
            return super.clone();
        } catch (CloneNotSupportedException ex) {
            throw new IllegalArgumentException("Clone not supported for " + this.getClass().getName());
        }
    }

    /**
     * Set null for all empty field values to be able to fast check during step processing. Need to be executed once
     * before processing.
     */
    public void normalize() {
        if (StringUtils.isBlank(shortFilenameField)) {
            shortFilenameField = null;
        }
        if (StringUtils.isBlank(extensionField)) {
            extensionField = null;
        }
        if (StringUtils.isBlank(pathField)) {
            pathField = null;
        }
        if (StringUtils.isBlank(sizeField)) {
            sizeField = null;
        }
        if (StringUtils.isBlank(hiddenField)) {
            hiddenField = null;
        }
        if (StringUtils.isBlank(lastModificationField)) {
            lastModificationField = null;
        }
        if (StringUtils.isBlank(uriField)) {
            uriField = null;
        }
        if (StringUtils.isBlank(rootUriField)) {
            rootUriField = null;
        }
    }
}