com.ocs.dynamo.domain.model.impl.AttributeModelImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.ocs.dynamo.domain.model.impl.AttributeModelImpl.java

Source

/*
   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 com.ocs.dynamo.domain.model.impl;

import java.util.HashSet;
import java.util.Set;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

import com.ocs.dynamo.domain.model.AttributeDateType;
import com.ocs.dynamo.domain.model.AttributeModel;
import com.ocs.dynamo.domain.model.AttributeSelectMode;
import com.ocs.dynamo.domain.model.AttributeTextFieldMode;
import com.ocs.dynamo.domain.model.AttributeType;
import com.ocs.dynamo.domain.model.EntityModel;

/**
 * Implementation of the AttributeModel interface - simple container for properties
 * 
 * @author bas.rutten
 */
public class AttributeModelImpl implements AttributeModel {

    private Set<String> allowedExtensions = new HashSet<>();

    private AttributeType attributeType;

    private boolean complexEditable;

    private boolean currency;

    private AttributeDateType dateType;

    private Object defaultValue;

    private String description;

    private boolean detailFocus;

    private String displayFormat;

    private String displayName;

    private boolean email;

    private EntityModel<?> entityModel;

    private String falseRepresentation;

    private String fileNameProperty;

    private boolean image;

    private boolean mainAttribute;

    private Integer maxLength;

    private Class<?> memberType;

    private Integer minLength;

    private boolean multipleSearch;

    private String name;

    private EntityModel<?> nestedEntityModel;

    private Integer order;

    private boolean percentage;

    private int precision;

    private String prompt;

    private boolean quickAddAllowed;

    private String quickAddPropertyName;

    private boolean readOnly;

    private String replacementSearchPath;

    private boolean required;

    private boolean searchable;

    private boolean searchCaseSensitive;

    private boolean searchForExactValue;

    private boolean searchPrefixOnly;

    private AttributeSelectMode searchSelectMode;

    private AttributeSelectMode selectMode;

    private boolean sortable;

    private AttributeTextFieldMode textFieldMode;

    private String trueRepresentation;

    private Class<?> type;

    private boolean url;

    private boolean useThousandsGrouping;

    private boolean visible;

    private boolean visibleInTable;

    private boolean week;

    @Override
    public int compareTo(AttributeModel o) {
        return this.getOrder() - o.getOrder();
    }

    @Override
    public Set<String> getAllowedExtensions() {
        return allowedExtensions;
    }

    @Override
    public AttributeType getAttributeType() {
        return attributeType;
    }

    @Override
    public AttributeDateType getDateType() {
        return dateType;
    }

    @Override
    public Object getDefaultValue() {
        return defaultValue;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public String getDisplayFormat() {
        return displayFormat;
    }

    @Override
    public String getDisplayName() {
        return displayName;
    }

    @Override
    public EntityModel<?> getEntityModel() {
        return entityModel;
    }

    @Override
    public String getFalseRepresentation() {
        return falseRepresentation;
    }

    @Override
    public String getFileNameProperty() {
        return fileNameProperty;
    }

    @Override
    public Integer getMaxLength() {
        return maxLength;
    }

    @Override
    public Class<?> getMemberType() {
        return memberType;
    }

    @Override
    public Integer getMinLength() {
        return minLength;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public EntityModel<?> getNestedEntityModel() {
        return nestedEntityModel;
    }

    @Override
    public Integer getOrder() {
        return order;
    }

    @Override
    public String getPath() {
        String reference = entityModel.getReference();
        int p = reference.indexOf('.');

        if (p <= 0) {
            return name;
        } else {
            return reference.substring(p + 1) + "." + name;
        }
    }

    @Override
    public int getPrecision() {
        return precision;
    }

    @Override
    public String getPrompt() {
        return prompt;
    }

    @Override
    public String getQuickAddPropertyName() {
        return quickAddPropertyName;
    }

    @Override
    public String getReplacementSearchPath() {
        return replacementSearchPath;
    }

    @Override
    public AttributeSelectMode getSearchSelectMode() {
        return searchSelectMode;
    }

    @Override
    public AttributeSelectMode getSelectMode() {
        return selectMode;
    }

    @Override
    public AttributeTextFieldMode getTextFieldMode() {
        return textFieldMode;
    }

    @Override
    public String getTrueRepresentation() {
        return trueRepresentation;
    }

    @Override
    public Class<?> getType() {
        return type;
    }

    @Override
    public boolean isComplexEditable() {
        return complexEditable;
    }

    @Override
    public boolean isCurrency() {
        return currency;
    }

    @Override
    public boolean isDetailFocus() {
        return detailFocus;
    }

    @Override
    public boolean isEmail() {
        return email;
    }

    @Override
    public boolean isEmbedded() {
        return AttributeType.EMBEDDED.equals(attributeType);
    }

    @Override
    public boolean isImage() {
        return image;
    }

    @Override
    public boolean isMainAttribute() {
        return mainAttribute;
    }

    public boolean isMultipleSearch() {
        return multipleSearch;
    }

    @Override
    public boolean isNumerical() {
        return Number.class.isAssignableFrom(type);
    }

    @Override
    public boolean isPercentage() {
        return percentage;
    }

    @Override
    public boolean isQuickAddAllowed() {
        return quickAddAllowed;
    }

    @Override
    public boolean isReadOnly() {
        return readOnly;
    }

    @Override
    public boolean isRequired() {
        return required;
    }

    @Override
    public boolean isSearchable() {
        return searchable;
    }

    @Override
    public boolean isSearchCaseSensitive() {
        return searchCaseSensitive;
    }

    @Override
    public boolean isSearchForExactValue() {
        return searchForExactValue;
    }

    @Override
    public boolean isSearchPrefixOnly() {
        return searchPrefixOnly;
    }

    @Override
    public boolean isSortable() {
        return sortable;
    }

    public boolean isUrl() {
        return url;
    }

    public boolean isUseThousandsGrouping() {
        return useThousandsGrouping;
    }

    @Override
    public boolean isVisible() {
        return visible;
    }

    @Override
    public boolean isVisibleInTable() {
        return visibleInTable;
    }

    @Override
    public boolean isWeek() {
        return week;
    }

    public void setAllowedExtensions(Set<String> allowedExtensions) {
        this.allowedExtensions = allowedExtensions;
    }

    public void setAttributeType(AttributeType attributeType) {
        this.attributeType = attributeType;
    }

    public void setComplexEditable(boolean complexEditable) {
        this.complexEditable = complexEditable;
    }

    public void setCurrency(boolean currency) {
        this.currency = currency;
    }

    public void setDateType(AttributeDateType dateType) {
        this.dateType = dateType;
    }

    public void setDefaultValue(Object defaultValue) {
        this.defaultValue = defaultValue;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setDetailFocus(boolean detailFocus) {
        this.detailFocus = detailFocus;
    }

    public void setDisplayFormat(String displayFormat) {
        this.displayFormat = displayFormat;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public void setEmail(boolean email) {
        this.email = email;
    }

    public void setEntityModel(EntityModel<?> entityModel) {
        this.entityModel = entityModel;
    }

    public void setFalseRepresentation(String falseRepresentation) {
        this.falseRepresentation = falseRepresentation;
    }

    public void setFileNameProperty(String fileNameProperty) {
        this.fileNameProperty = fileNameProperty;
    }

    public void setImage(boolean image) {
        this.image = image;
    }

    @Override
    public void setMainAttribute(boolean mainAttribute) {
        this.mainAttribute = mainAttribute;
    }

    public void setMaxLength(Integer maxLength) {
        this.maxLength = maxLength;
    }

    public void setMemberType(Class<?> memberType) {
        this.memberType = memberType;
    }

    public void setMinLength(Integer minLength) {
        this.minLength = minLength;
    }

    public void setMultipleSearch(boolean multipleSearch) {
        this.multipleSearch = multipleSearch;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setNestedEntityModel(EntityModel<?> nestedEntityModel) {
        this.nestedEntityModel = nestedEntityModel;
    }

    public void setOrder(Integer order) {
        this.order = order;
    }

    public void setPercentage(boolean percentage) {
        this.percentage = percentage;
    }

    public void setPrecision(int precision) {
        this.precision = precision;
    }

    public void setPrompt(String prompt) {
        this.prompt = prompt;
    }

    public void setQuickAddAllowed(boolean quickAddAllowed) {
        this.quickAddAllowed = quickAddAllowed;
    }

    public void setQuickAddPropertyName(String quickAddPropertyName) {
        this.quickAddPropertyName = quickAddPropertyName;
    }

    public void setReadOnly(boolean readOnly) {
        this.readOnly = readOnly;
    }

    public void setReplacementSearchPath(String replacementSearchPath) {
        this.replacementSearchPath = replacementSearchPath;
    }

    public void setRequired(boolean required) {
        this.required = required;
    }

    public void setSearchable(boolean searchable) {
        this.searchable = searchable;
    }

    public void setSearchCaseSensitive(boolean searchCaseSensitive) {
        this.searchCaseSensitive = searchCaseSensitive;
    }

    public void setSearchForExactValue(boolean searchForExactValue) {
        this.searchForExactValue = searchForExactValue;
    }

    public void setSearchPrefixOnly(boolean searchPrefixOnly) {
        this.searchPrefixOnly = searchPrefixOnly;
    }

    public void setSearchSelectMode(AttributeSelectMode searchSelectMode) {
        this.searchSelectMode = searchSelectMode;
    }

    public void setSelectMode(AttributeSelectMode selectMode) {
        this.selectMode = selectMode;
    }

    public void setSortable(boolean sortable) {
        this.sortable = sortable;
    }

    public void setTextFieldMode(AttributeTextFieldMode textFieldMode) {
        this.textFieldMode = textFieldMode;
    }

    public void setTrueRepresentation(String trueRepresentation) {
        this.trueRepresentation = trueRepresentation;
    }

    public void setType(Class<?> type) {
        this.type = type;
    }

    public void setUrl(boolean url) {
        this.url = url;
    }

    public void setUseThousandsGrouping(boolean useThousandsGrouping) {
        this.useThousandsGrouping = useThousandsGrouping;
    }

    public void setVisible(boolean visible) {
        this.visible = visible;
    }

    public void setVisibleInTable(boolean visibleInTable) {
        this.visibleInTable = visibleInTable;
    }

    public void setWeek(boolean week) {
        this.week = week;
    }

    @Override
    public String toString() {
        return ReflectionToStringBuilder.toStringExclude(this, "entityModel");
    }
}