/*
 * Copyright 2009-2013 the Fess Project and the Others.
 *
 * 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 jp.sf.fess.db.bsentity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import jp.sf.fess.db.allcommon.DBMetaInstanceHandler;
import jp.sf.fess.db.exentity.FailureUrl;
import jp.sf.fess.db.exentity.FileAuthentication;
import jp.sf.fess.db.exentity.FileConfigToBrowserTypeMapping;
import jp.sf.fess.db.exentity.FileConfigToLabelTypeMapping;
import jp.sf.fess.db.exentity.FileConfigToRoleTypeMapping;
import jp.sf.fess.db.exentity.FileCrawlingConfig;

import org.seasar.dbflute.Entity;
import org.seasar.dbflute.dbmeta.DBMeta;

/**
 * The entity of FILE_CRAWLING_CONFIG as TABLE. <br />
 * <pre>
 * [primary-key]
 *     ID
 * 
 * [column]
 *     ID, NAME, PATHS, INCLUDED_PATHS, EXCLUDED_PATHS, INCLUDED_DOC_PATHS, EXCLUDED_DOC_PATHS, CONFIG_PARAMETER, DEPTH, MAX_ACCESS_COUNT, NUM_OF_THREAD, INTERVAL_TIME, BOOST, AVAILABLE, SORT_ORDER, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME, DELETED_BY, DELETED_TIME, VERSION_NO
 * 
 * [sequence]
 *     
 * 
 * [identity]
 *     ID
 * 
 * [version-no]
 *     VERSION_NO
 * 
 * [foreign table]
 *     
 * 
 * [referrer table]
 *     FAILURE_URL, FILE_AUTHENTICATION, FILE_CONFIG_TO_BROWSER_TYPE_MAPPING, FILE_CONFIG_TO_LABEL_TYPE_MAPPING, FILE_CONFIG_TO_ROLE_TYPE_MAPPING
 * 
 * [foreign property]
 *     
 * 
 * [referrer property]
 *     failureUrlList, fileAuthenticationList, fileConfigToBrowserTypeMappingList, fileConfigToLabelTypeMappingList, fileConfigToRoleTypeMappingList
 * 
 * [get/set template]
 * /= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
 * Long id = entity.getId();
 * String name = entity.getName();
 * String paths = entity.getPaths();
 * String includedPaths = entity.getIncludedPaths();
 * String excludedPaths = entity.getExcludedPaths();
 * String includedDocPaths = entity.getIncludedDocPaths();
 * String excludedDocPaths = entity.getExcludedDocPaths();
 * String configParameter = entity.getConfigParameter();
 * Integer depth = entity.getDepth();
 * Long maxAccessCount = entity.getMaxAccessCount();
 * Integer numOfThread = entity.getNumOfThread();
 * Integer intervalTime = entity.getIntervalTime();
 * java.math.BigDecimal boost = entity.getBoost();
 * String available = entity.getAvailable();
 * Integer sortOrder = entity.getSortOrder();
 * String createdBy = entity.getCreatedBy();
 * java.sql.Timestamp createdTime = entity.getCreatedTime();
 * String updatedBy = entity.getUpdatedBy();
 * java.sql.Timestamp updatedTime = entity.getUpdatedTime();
 * String deletedBy = entity.getDeletedBy();
 * java.sql.Timestamp deletedTime = entity.getDeletedTime();
 * Integer versionNo = entity.getVersionNo();
 * entity.setId(id);
 * entity.setName(name);
 * entity.setPaths(paths);
 * entity.setIncludedPaths(includedPaths);
 * entity.setExcludedPaths(excludedPaths);
 * entity.setIncludedDocPaths(includedDocPaths);
 * entity.setExcludedDocPaths(excludedDocPaths);
 * entity.setConfigParameter(configParameter);
 * entity.setDepth(depth);
 * entity.setMaxAccessCount(maxAccessCount);
 * entity.setNumOfThread(numOfThread);
 * entity.setIntervalTime(intervalTime);
 * entity.setBoost(boost);
 * entity.setAvailable(available);
 * entity.setSortOrder(sortOrder);
 * entity.setCreatedBy(createdBy);
 * entity.setCreatedTime(createdTime);
 * entity.setUpdatedBy(updatedBy);
 * entity.setUpdatedTime(updatedTime);
 * entity.setDeletedBy(deletedBy);
 * entity.setDeletedTime(deletedTime);
 * entity.setVersionNo(versionNo);
 * = = = = = = = = = =/
 * </pre>
 * @author DBFlute(AutoGenerator)
 */
public abstract class BsFileCrawlingConfig implements Entity, Serializable,
        Cloneable {

    // ===================================================================================
    //                                                                          Definition
    //                                                                          ==========
    /** Serial version UID. (Default) */
    private static final long serialVersionUID = 1L;

    // ===================================================================================
    //                                                                           Attribute
    //                                                                           =========
    // -----------------------------------------------------
    //                                                Column
    //                                                ------
    /** ID: {PK, ID, NotNull, BIGINT(19)} */
    protected Long _id;

    /** NAME: {NotNull, VARCHAR(200)} */
    protected String _name;

    /** PATHS: {NotNull, VARCHAR(4000)} */
    protected String _paths;

    /** INCLUDED_PATHS: {VARCHAR(4000)} */
    protected String _includedPaths;

    /** EXCLUDED_PATHS: {VARCHAR(4000)} */
    protected String _excludedPaths;

    /** INCLUDED_DOC_PATHS: {VARCHAR(4000)} */
    protected String _includedDocPaths;

    /** EXCLUDED_DOC_PATHS: {VARCHAR(4000)} */
    protected String _excludedDocPaths;

    /** CONFIG_PARAMETER: {VARCHAR(4000)} */
    protected String _configParameter;

    /** DEPTH: {INTEGER(10)} */
    protected Integer _depth;

    /** MAX_ACCESS_COUNT: {BIGINT(19)} */
    protected Long _maxAccessCount;

    /** NUM_OF_THREAD: {NotNull, INTEGER(10)} */
    protected Integer _numOfThread;

    /** INTERVAL_TIME: {NotNull, INTEGER(10)} */
    protected Integer _intervalTime;

    /** BOOST: {NotNull, DOUBLE(17)} */
    protected java.math.BigDecimal _boost;

    /** AVAILABLE: {NotNull, VARCHAR(1)} */
    protected String _available;

    /** SORT_ORDER: {NotNull, INTEGER(10)} */
    protected Integer _sortOrder;

    /** CREATED_BY: {NotNull, VARCHAR(255)} */
    protected String _createdBy;

    /** CREATED_TIME: {NotNull, TIMESTAMP(23, 10)} */
    protected java.sql.Timestamp _createdTime;

    /** UPDATED_BY: {VARCHAR(255)} */
    protected String _updatedBy;

    /** UPDATED_TIME: {TIMESTAMP(23, 10)} */
    protected java.sql.Timestamp _updatedTime;

    /** DELETED_BY: {VARCHAR(255)} */
    protected String _deletedBy;

    /** DELETED_TIME: {TIMESTAMP(23, 10)} */
    protected java.sql.Timestamp _deletedTime;

    /** VERSION_NO: {NotNull, INTEGER(10)} */
    protected Integer _versionNo;

    // -----------------------------------------------------
    //                                              Internal
    //                                              --------
    /** The modified properties for this entity. (NotNull) */
    protected final EntityModifiedProperties __modifiedProperties = newModifiedProperties();

    // ===================================================================================
    //                                                                          Table Name
    //                                                                          ==========
    /**
     * {@inheritDoc}
     */
    @Override
    public String getTableDbName() {
        return "FILE_CRAWLING_CONFIG";
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String getTablePropertyName() { // according to Java Beans rule
        return "fileCrawlingConfig";
    }

    // ===================================================================================
    //                                                                              DBMeta
    //                                                                              ======
    /**
     * {@inheritDoc}
     */
    @Override
    public DBMeta getDBMeta() {
        return DBMetaInstanceHandler.findDBMeta(getTableDbName());
    }

    // ===================================================================================
    //                                                                         Primary Key
    //                                                                         ===========
    /**
     * {@inheritDoc}
     */
    @Override
    public boolean hasPrimaryKeyValue() {
        if (getId() == null) {
            return false;
        }
        return true;
    }

    // ===================================================================================
    //                                                                    Foreign Property
    //                                                                    ================
    // ===================================================================================
    //                                                                   Referrer Property
    //                                                                   =================
    /** FAILURE_URL by your FILE_CONFIG_ID, named 'failureUrlList'. */
    protected List<FailureUrl> _failureUrlList;

    /**
     * FAILURE_URL by your FILE_CONFIG_ID, named 'failureUrlList'.
     * @return The entity list of referrer property 'failureUrlList'. (NotNull: even if no loading, returns empty list)
     */
    public List<FailureUrl> getFailureUrlList() {
        if (_failureUrlList == null) {
            _failureUrlList = newReferrerList();
        }
        return _failureUrlList;
    }

    /**
     * FAILURE_URL by your FILE_CONFIG_ID, named 'failureUrlList'.
     * @param failureUrlList The entity list of referrer property 'failureUrlList'. (NullAllowed)
     */
    public void setFailureUrlList(final List<FailureUrl> failureUrlList) {
        _failureUrlList = failureUrlList;
    }

    /** FILE_AUTHENTICATION by your FILE_CRAWLING_CONFIG_ID, named 'fileAuthenticationList'. */
    protected List<FileAuthentication> _fileAuthenticationList;

    /**
     * FILE_AUTHENTICATION by your FILE_CRAWLING_CONFIG_ID, named 'fileAuthenticationList'.
     * @return The entity list of referrer property 'fileAuthenticationList'. (NotNull: even if no loading, returns empty list)
     */
    public List<FileAuthentication> getFileAuthenticationList() {
        if (_fileAuthenticationList == null) {
            _fileAuthenticationList = newReferrerList();
        }
        return _fileAuthenticationList;
    }

    /**
     * FILE_AUTHENTICATION by your FILE_CRAWLING_CONFIG_ID, named 'fileAuthenticationList'.
     * @param fileAuthenticationList The entity list of referrer property 'fileAuthenticationList'. (NullAllowed)
     */
    public void setFileAuthenticationList(
            final List<FileAuthentication> fileAuthenticationList) {
        _fileAuthenticationList = fileAuthenticationList;
    }

    /** FILE_CONFIG_TO_BROWSER_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToBrowserTypeMappingList'. */
    protected List<FileConfigToBrowserTypeMapping> _fileConfigToBrowserTypeMappingList;

    /**
     * FILE_CONFIG_TO_BROWSER_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToBrowserTypeMappingList'.
     * @return The entity list of referrer property 'fileConfigToBrowserTypeMappingList'. (NotNull: even if no loading, returns empty list)
     */
    public List<FileConfigToBrowserTypeMapping> getFileConfigToBrowserTypeMappingList() {
        if (_fileConfigToBrowserTypeMappingList == null) {
            _fileConfigToBrowserTypeMappingList = newReferrerList();
        }
        return _fileConfigToBrowserTypeMappingList;
    }

    /**
     * FILE_CONFIG_TO_BROWSER_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToBrowserTypeMappingList'.
     * @param fileConfigToBrowserTypeMappingList The entity list of referrer property 'fileConfigToBrowserTypeMappingList'. (NullAllowed)
     */
    public void setFileConfigToBrowserTypeMappingList(
            final List<FileConfigToBrowserTypeMapping> fileConfigToBrowserTypeMappingList) {
        _fileConfigToBrowserTypeMappingList = fileConfigToBrowserTypeMappingList;
    }

    /** FILE_CONFIG_TO_LABEL_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToLabelTypeMappingList'. */
    protected List<FileConfigToLabelTypeMapping> _fileConfigToLabelTypeMappingList;

    /**
     * FILE_CONFIG_TO_LABEL_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToLabelTypeMappingList'.
     * @return The entity list of referrer property 'fileConfigToLabelTypeMappingList'. (NotNull: even if no loading, returns empty list)
     */
    public List<FileConfigToLabelTypeMapping> getFileConfigToLabelTypeMappingList() {
        if (_fileConfigToLabelTypeMappingList == null) {
            _fileConfigToLabelTypeMappingList = newReferrerList();
        }
        return _fileConfigToLabelTypeMappingList;
    }

    /**
     * FILE_CONFIG_TO_LABEL_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToLabelTypeMappingList'.
     * @param fileConfigToLabelTypeMappingList The entity list of referrer property 'fileConfigToLabelTypeMappingList'. (NullAllowed)
     */
    public void setFileConfigToLabelTypeMappingList(
            final List<FileConfigToLabelTypeMapping> fileConfigToLabelTypeMappingList) {
        _fileConfigToLabelTypeMappingList = fileConfigToLabelTypeMappingList;
    }

    /** FILE_CONFIG_TO_ROLE_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToRoleTypeMappingList'. */
    protected List<FileConfigToRoleTypeMapping> _fileConfigToRoleTypeMappingList;

    /**
     * FILE_CONFIG_TO_ROLE_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToRoleTypeMappingList'.
     * @return The entity list of referrer property 'fileConfigToRoleTypeMappingList'. (NotNull: even if no loading, returns empty list)
     */
    public List<FileConfigToRoleTypeMapping> getFileConfigToRoleTypeMappingList() {
        if (_fileConfigToRoleTypeMappingList == null) {
            _fileConfigToRoleTypeMappingList = newReferrerList();
        }
        return _fileConfigToRoleTypeMappingList;
    }

    /**
     * FILE_CONFIG_TO_ROLE_TYPE_MAPPING by your FILE_CONFIG_ID, named 'fileConfigToRoleTypeMappingList'.
     * @param fileConfigToRoleTypeMappingList The entity list of referrer property 'fileConfigToRoleTypeMappingList'. (NullAllowed)
     */
    public void setFileConfigToRoleTypeMappingList(
            final List<FileConfigToRoleTypeMapping> fileConfigToRoleTypeMappingList) {
        _fileConfigToRoleTypeMappingList = fileConfigToRoleTypeMappingList;
    }

    protected <ELEMENT> List<ELEMENT> newReferrerList() {
        return new ArrayList<ELEMENT>();
    }

    // ===================================================================================
    //                                                                 Modified Properties
    //                                                                 ===================
    /**
     * {@inheritDoc}
     */
    @Override
    public Set<String> modifiedProperties() {
        return __modifiedProperties.getPropertyNames();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void clearModifiedInfo() {
        __modifiedProperties.clear();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean hasModification() {
        return !__modifiedProperties.isEmpty();
    }

    protected EntityModifiedProperties newModifiedProperties() {
        return new EntityModifiedProperties();
    }

    // ===================================================================================
    //                                                                      Basic Override
    //                                                                      ==============
    /**
     * Determine the object is equal with this. <br />
     * If primary-keys or columns of the other are same as this one, returns true.
     * @param other The other entity. (NullAllowed: if null, returns false fixedly)
     * @return Comparing result.
     */
    @Override
    public boolean equals(final Object other) {
        if (other == null || !(other instanceof BsFileCrawlingConfig)) {
            return false;
        }
        final BsFileCrawlingConfig otherEntity = (BsFileCrawlingConfig) other;
        if (!xSV(getId(), otherEntity.getId())) {
            return false;
        }
        return true;
    }

    protected boolean xSV(final Object value1, final Object value2) { // isSameValue()
        return InternalUtil.isSameValue(value1, value2);
    }

    /**
     * Calculate the hash-code from primary-keys or columns.
     * @return The hash-code from primary-key or columns.
     */
    @Override
    public int hashCode() {
        int result = 17;
        result = xCH(result, getTableDbName());
        result = xCH(result, getId());
        return result;
    }

    protected int xCH(final int result, final Object value) { // calculateHashcode()
        return InternalUtil.calculateHashcode(result, value);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int instanceHash() {
        return super.hashCode();
    }

    /**
     * Convert to display string of entity's data. (no relation data)
     * @return The display string of all columns and relation existences. (NotNull)
     */
    @Override
    public String toString() {
        return buildDisplayString(InternalUtil.toClassTitle(this), true, true);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toStringWithRelation() {
        final StringBuilder sb = new StringBuilder();
        sb.append(toString());
        final String l = "\n  ";
        if (_failureUrlList != null) {
            for (final Entity e : _failureUrlList) {
                if (e != null) {
                    sb.append(l).append(xbRDS(e, "failureUrlList"));
                }
            }
        }
        if (_fileAuthenticationList != null) {
            for (final Entity e : _fileAuthenticationList) {
                if (e != null) {
                    sb.append(l).append(xbRDS(e, "fileAuthenticationList"));
                }
            }
        }
        if (_fileConfigToBrowserTypeMappingList != null) {
            for (final Entity e : _fileConfigToBrowserTypeMappingList) {
                if (e != null) {
                    sb.append(l).append(
                            xbRDS(e, "fileConfigToBrowserTypeMappingList"));
                }
            }
        }
        if (_fileConfigToLabelTypeMappingList != null) {
            for (final Entity e : _fileConfigToLabelTypeMappingList) {
                if (e != null) {
                    sb.append(l).append(
                            xbRDS(e, "fileConfigToLabelTypeMappingList"));
                }
            }
        }
        if (_fileConfigToRoleTypeMappingList != null) {
            for (final Entity e : _fileConfigToRoleTypeMappingList) {
                if (e != null) {
                    sb.append(l).append(
                            xbRDS(e, "fileConfigToRoleTypeMappingList"));
                }
            }
        }
        return sb.toString();
    }

    protected String xbRDS(final Entity e, final String name) { // buildRelationDisplayString()
        return e.buildDisplayString(name, true, true);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String buildDisplayString(final String name, final boolean column,
            final boolean relation) {
        final StringBuilder sb = new StringBuilder();
        if (name != null) {
            sb.append(name).append(column || relation ? ":" : "");
        }
        if (column) {
            sb.append(buildColumnString());
        }
        if (relation) {
            sb.append(buildRelationString());
        }
        sb.append("@").append(Integer.toHexString(hashCode()));
        return sb.toString();
    }

    protected String buildColumnString() {
        final StringBuilder sb = new StringBuilder();
        final String delimiter = ", ";
        sb.append(delimiter).append(getId());
        sb.append(delimiter).append(getName());
        sb.append(delimiter).append(getPaths());
        sb.append(delimiter).append(getIncludedPaths());
        sb.append(delimiter).append(getExcludedPaths());
        sb.append(delimiter).append(getIncludedDocPaths());
        sb.append(delimiter).append(getExcludedDocPaths());
        sb.append(delimiter).append(getConfigParameter());
        sb.append(delimiter).append(getDepth());
        sb.append(delimiter).append(getMaxAccessCount());
        sb.append(delimiter).append(getNumOfThread());
        sb.append(delimiter).append(getIntervalTime());
        sb.append(delimiter).append(getBoost());
        sb.append(delimiter).append(getAvailable());
        sb.append(delimiter).append(getSortOrder());
        sb.append(delimiter).append(getCreatedBy());
        sb.append(delimiter).append(getCreatedTime());
        sb.append(delimiter).append(getUpdatedBy());
        sb.append(delimiter).append(getUpdatedTime());
        sb.append(delimiter).append(getDeletedBy());
        sb.append(delimiter).append(getDeletedTime());
        sb.append(delimiter).append(getVersionNo());
        if (sb.length() > delimiter.length()) {
            sb.delete(0, delimiter.length());
        }
        sb.insert(0, "{").append("}");
        return sb.toString();
    }

    protected String buildRelationString() {
        final StringBuilder sb = new StringBuilder();
        final String c = ",";
        if (_failureUrlList != null && !_failureUrlList.isEmpty()) {
            sb.append(c).append("failureUrlList");
        }
        if (_fileAuthenticationList != null
                && !_fileAuthenticationList.isEmpty()) {
            sb.append(c).append("fileAuthenticationList");
        }
        if (_fileConfigToBrowserTypeMappingList != null
                && !_fileConfigToBrowserTypeMappingList.isEmpty()) {
            sb.append(c).append("fileConfigToBrowserTypeMappingList");
        }
        if (_fileConfigToLabelTypeMappingList != null
                && !_fileConfigToLabelTypeMappingList.isEmpty()) {
            sb.append(c).append("fileConfigToLabelTypeMappingList");
        }
        if (_fileConfigToRoleTypeMappingList != null
                && !_fileConfigToRoleTypeMappingList.isEmpty()) {
            sb.append(c).append("fileConfigToRoleTypeMappingList");
        }
        if (sb.length() > c.length()) {
            sb.delete(0, c.length()).insert(0, "(").append(")");
        }
        return sb.toString();
    }

    /**
     * Clone entity instance using super.clone(). (shallow copy) 
     * @return The cloned instance of this entity. (NotNull)
     */
    @Override
    public FileCrawlingConfig clone() {
        try {
            return (FileCrawlingConfig) super.clone();
        } catch (final CloneNotSupportedException e) {
            throw new IllegalStateException("Failed to clone the entity: "
                    + toString(), e);
        }
    }

    // ===================================================================================
    //                                                                            Accessor
    //                                                                            ========
    /**
     * [get] ID: {PK, ID, NotNull, BIGINT(19)} <br />
     * @return The value of the column 'ID'. (basically NotNull if selected: for the constraint)
     */
    public Long getId() {
        return _id;
    }

    /**
     * [set] ID: {PK, ID, NotNull, BIGINT(19)} <br />
     * @param id The value of the column 'ID'. (basically NotNull if update: for the constraint)
     */
    public void setId(final Long id) {
        __modifiedProperties.addPropertyName("id");
        _id = id;
    }

    /**
     * [get] NAME: {NotNull, VARCHAR(200)} <br />
     * @return The value of the column 'NAME'. (basically NotNull if selected: for the constraint)
     */
    public String getName() {
        return _name;
    }

    /**
     * [set] NAME: {NotNull, VARCHAR(200)} <br />
     * @param name The value of the column 'NAME'. (basically NotNull if update: for the constraint)
     */
    public void setName(final String name) {
        __modifiedProperties.addPropertyName("name");
        _name = name;
    }

    /**
     * [get] PATHS: {NotNull, VARCHAR(4000)} <br />
     * @return The value of the column 'PATHS'. (basically NotNull if selected: for the constraint)
     */
    public String getPaths() {
        return _paths;
    }

    /**
     * [set] PATHS: {NotNull, VARCHAR(4000)} <br />
     * @param paths The value of the column 'PATHS'. (basically NotNull if update: for the constraint)
     */
    public void setPaths(final String paths) {
        __modifiedProperties.addPropertyName("paths");
        _paths = paths;
    }

    /**
     * [get] INCLUDED_PATHS: {VARCHAR(4000)} <br />
     * @return The value of the column 'INCLUDED_PATHS'. (NullAllowed even if selected: for no constraint)
     */
    public String getIncludedPaths() {
        return _includedPaths;
    }

    /**
     * [set] INCLUDED_PATHS: {VARCHAR(4000)} <br />
     * @param includedPaths The value of the column 'INCLUDED_PATHS'. (NullAllowed: null update allowed for no constraint)
     */
    public void setIncludedPaths(final String includedPaths) {
        __modifiedProperties.addPropertyName("includedPaths");
        _includedPaths = includedPaths;
    }

    /**
     * [get] EXCLUDED_PATHS: {VARCHAR(4000)} <br />
     * @return The value of the column 'EXCLUDED_PATHS'. (NullAllowed even if selected: for no constraint)
     */
    public String getExcludedPaths() {
        return _excludedPaths;
    }

    /**
     * [set] EXCLUDED_PATHS: {VARCHAR(4000)} <br />
     * @param excludedPaths The value of the column 'EXCLUDED_PATHS'. (NullAllowed: null update allowed for no constraint)
     */
    public void setExcludedPaths(final String excludedPaths) {
        __modifiedProperties.addPropertyName("excludedPaths");
        _excludedPaths = excludedPaths;
    }

    /**
     * [get] INCLUDED_DOC_PATHS: {VARCHAR(4000)} <br />
     * @return The value of the column 'INCLUDED_DOC_PATHS'. (NullAllowed even if selected: for no constraint)
     */
    public String getIncludedDocPaths() {
        return _includedDocPaths;
    }

    /**
     * [set] INCLUDED_DOC_PATHS: {VARCHAR(4000)} <br />
     * @param includedDocPaths The value of the column 'INCLUDED_DOC_PATHS'. (NullAllowed: null update allowed for no constraint)
     */
    public void setIncludedDocPaths(final String includedDocPaths) {
        __modifiedProperties.addPropertyName("includedDocPaths");
        _includedDocPaths = includedDocPaths;
    }

    /**
     * [get] EXCLUDED_DOC_PATHS: {VARCHAR(4000)} <br />
     * @return The value of the column 'EXCLUDED_DOC_PATHS'. (NullAllowed even if selected: for no constraint)
     */
    public String getExcludedDocPaths() {
        return _excludedDocPaths;
    }

    /**
     * [set] EXCLUDED_DOC_PATHS: {VARCHAR(4000)} <br />
     * @param excludedDocPaths The value of the column 'EXCLUDED_DOC_PATHS'. (NullAllowed: null update allowed for no constraint)
     */
    public void setExcludedDocPaths(final String excludedDocPaths) {
        __modifiedProperties.addPropertyName("excludedDocPaths");
        _excludedDocPaths = excludedDocPaths;
    }

    /**
     * [get] CONFIG_PARAMETER: {VARCHAR(4000)} <br />
     * @return The value of the column 'CONFIG_PARAMETER'. (NullAllowed even if selected: for no constraint)
     */
    public String getConfigParameter() {
        return _configParameter;
    }

    /**
     * [set] CONFIG_PARAMETER: {VARCHAR(4000)} <br />
     * @param configParameter The value of the column 'CONFIG_PARAMETER'. (NullAllowed: null update allowed for no constraint)
     */
    public void setConfigParameter(final String configParameter) {
        __modifiedProperties.addPropertyName("configParameter");
        _configParameter = configParameter;
    }

    /**
     * [get] DEPTH: {INTEGER(10)} <br />
     * @return The value of the column 'DEPTH'. (NullAllowed even if selected: for no constraint)
     */
    public Integer getDepth() {
        return _depth;
    }

    /**
     * [set] DEPTH: {INTEGER(10)} <br />
     * @param depth The value of the column 'DEPTH'. (NullAllowed: null update allowed for no constraint)
     */
    public void setDepth(final Integer depth) {
        __modifiedProperties.addPropertyName("depth");
        _depth = depth;
    }

    /**
     * [get] MAX_ACCESS_COUNT: {BIGINT(19)} <br />
     * @return The value of the column 'MAX_ACCESS_COUNT'. (NullAllowed even if selected: for no constraint)
     */
    public Long getMaxAccessCount() {
        return _maxAccessCount;
    }

    /**
     * [set] MAX_ACCESS_COUNT: {BIGINT(19)} <br />
     * @param maxAccessCount The value of the column 'MAX_ACCESS_COUNT'. (NullAllowed: null update allowed for no constraint)
     */
    public void setMaxAccessCount(final Long maxAccessCount) {
        __modifiedProperties.addPropertyName("maxAccessCount");
        _maxAccessCount = maxAccessCount;
    }

    /**
     * [get] NUM_OF_THREAD: {NotNull, INTEGER(10)} <br />
     * @return The value of the column 'NUM_OF_THREAD'. (basically NotNull if selected: for the constraint)
     */
    public Integer getNumOfThread() {
        return _numOfThread;
    }

    /**
     * [set] NUM_OF_THREAD: {NotNull, INTEGER(10)} <br />
     * @param numOfThread The value of the column 'NUM_OF_THREAD'. (basically NotNull if update: for the constraint)
     */
    public void setNumOfThread(final Integer numOfThread) {
        __modifiedProperties.addPropertyName("numOfThread");
        _numOfThread = numOfThread;
    }

    /**
     * [get] INTERVAL_TIME: {NotNull, INTEGER(10)} <br />
     * @return The value of the column 'INTERVAL_TIME'. (basically NotNull if selected: for the constraint)
     */
    public Integer getIntervalTime() {
        return _intervalTime;
    }

    /**
     * [set] INTERVAL_TIME: {NotNull, INTEGER(10)} <br />
     * @param intervalTime The value of the column 'INTERVAL_TIME'. (basically NotNull if update: for the constraint)
     */
    public void setIntervalTime(final Integer intervalTime) {
        __modifiedProperties.addPropertyName("intervalTime");
        _intervalTime = intervalTime;
    }

    /**
     * [get] BOOST: {NotNull, DOUBLE(17)} <br />
     * @return The value of the column 'BOOST'. (basically NotNull if selected: for the constraint)
     */
    public java.math.BigDecimal getBoost() {
        return _boost;
    }

    /**
     * [set] BOOST: {NotNull, DOUBLE(17)} <br />
     * @param boost The value of the column 'BOOST'. (basically NotNull if update: for the constraint)
     */
    public void setBoost(final java.math.BigDecimal boost) {
        __modifiedProperties.addPropertyName("boost");
        _boost = boost;
    }

    /**
     * [get] AVAILABLE: {NotNull, VARCHAR(1)} <br />
     * @return The value of the column 'AVAILABLE'. (basically NotNull if selected: for the constraint)
     */
    public String getAvailable() {
        return _available;
    }

    /**
     * [set] AVAILABLE: {NotNull, VARCHAR(1)} <br />
     * @param available The value of the column 'AVAILABLE'. (basically NotNull if update: for the constraint)
     */
    public void setAvailable(final String available) {
        __modifiedProperties.addPropertyName("available");
        _available = available;
    }

    /**
     * [get] SORT_ORDER: {NotNull, INTEGER(10)} <br />
     * @return The value of the column 'SORT_ORDER'. (basically NotNull if selected: for the constraint)
     */
    public Integer getSortOrder() {
        return _sortOrder;
    }

    /**
     * [set] SORT_ORDER: {NotNull, INTEGER(10)} <br />
     * @param sortOrder The value of the column 'SORT_ORDER'. (basically NotNull if update: for the constraint)
     */
    public void setSortOrder(final Integer sortOrder) {
        __modifiedProperties.addPropertyName("sortOrder");
        _sortOrder = sortOrder;
    }

    /**
     * [get] CREATED_BY: {NotNull, VARCHAR(255)} <br />
     * @return The value of the column 'CREATED_BY'. (basically NotNull if selected: for the constraint)
     */
    public String getCreatedBy() {
        return _createdBy;
    }

    /**
     * [set] CREATED_BY: {NotNull, VARCHAR(255)} <br />
     * @param createdBy The value of the column 'CREATED_BY'. (basically NotNull if update: for the constraint)
     */
    public void setCreatedBy(final String createdBy) {
        __modifiedProperties.addPropertyName("createdBy");
        _createdBy = createdBy;
    }

    /**
     * [get] CREATED_TIME: {NotNull, TIMESTAMP(23, 10)} <br />
     * @return The value of the column 'CREATED_TIME'. (basically NotNull if selected: for the constraint)
     */
    public java.sql.Timestamp getCreatedTime() {
        return _createdTime;
    }

    /**
     * [set] CREATED_TIME: {NotNull, TIMESTAMP(23, 10)} <br />
     * @param createdTime The value of the column 'CREATED_TIME'. (basically NotNull if update: for the constraint)
     */
    public void setCreatedTime(final java.sql.Timestamp createdTime) {
        __modifiedProperties.addPropertyName("createdTime");
        _createdTime = createdTime;
    }

    /**
     * [get] UPDATED_BY: {VARCHAR(255)} <br />
     * @return The value of the column 'UPDATED_BY'. (NullAllowed even if selected: for no constraint)
     */
    public String getUpdatedBy() {
        return _updatedBy;
    }

    /**
     * [set] UPDATED_BY: {VARCHAR(255)} <br />
     * @param updatedBy The value of the column 'UPDATED_BY'. (NullAllowed: null update allowed for no constraint)
     */
    public void setUpdatedBy(final String updatedBy) {
        __modifiedProperties.addPropertyName("updatedBy");
        _updatedBy = updatedBy;
    }

    /**
     * [get] UPDATED_TIME: {TIMESTAMP(23, 10)} <br />
     * @return The value of the column 'UPDATED_TIME'. (NullAllowed even if selected: for no constraint)
     */
    public java.sql.Timestamp getUpdatedTime() {
        return _updatedTime;
    }

    /**
     * [set] UPDATED_TIME: {TIMESTAMP(23, 10)} <br />
     * @param updatedTime The value of the column 'UPDATED_TIME'. (NullAllowed: null update allowed for no constraint)
     */
    public void setUpdatedTime(final java.sql.Timestamp updatedTime) {
        __modifiedProperties.addPropertyName("updatedTime");
        _updatedTime = updatedTime;
    }

    /**
     * [get] DELETED_BY: {VARCHAR(255)} <br />
     * @return The value of the column 'DELETED_BY'. (NullAllowed even if selected: for no constraint)
     */
    public String getDeletedBy() {
        return _deletedBy;
    }

    /**
     * [set] DELETED_BY: {VARCHAR(255)} <br />
     * @param deletedBy The value of the column 'DELETED_BY'. (NullAllowed: null update allowed for no constraint)
     */
    public void setDeletedBy(final String deletedBy) {
        __modifiedProperties.addPropertyName("deletedBy");
        _deletedBy = deletedBy;
    }

    /**
     * [get] DELETED_TIME: {TIMESTAMP(23, 10)} <br />
     * @return The value of the column 'DELETED_TIME'. (NullAllowed even if selected: for no constraint)
     */
    public java.sql.Timestamp getDeletedTime() {
        return _deletedTime;
    }

    /**
     * [set] DELETED_TIME: {TIMESTAMP(23, 10)} <br />
     * @param deletedTime The value of the column 'DELETED_TIME'. (NullAllowed: null update allowed for no constraint)
     */
    public void setDeletedTime(final java.sql.Timestamp deletedTime) {
        __modifiedProperties.addPropertyName("deletedTime");
        _deletedTime = deletedTime;
    }

    /**
     * [get] VERSION_NO: {NotNull, INTEGER(10)} <br />
     * @return The value of the column 'VERSION_NO'. (basically NotNull if selected: for the constraint)
     */
    public Integer getVersionNo() {
        return _versionNo;
    }

    /**
     * [set] VERSION_NO: {NotNull, INTEGER(10)} <br />
     * @param versionNo The value of the column 'VERSION_NO'. (basically NotNull if update: for the constraint)
     */
    public void setVersionNo(final Integer versionNo) {
        __modifiedProperties.addPropertyName("versionNo");
        _versionNo = versionNo;
    }
}
