/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.modelgenerator.salesforce.model.impl; import java.util.ArrayList; import java.util.List; import org.teiid.designer.modelgenerator.salesforce.model.SalesforceField; import com.sforce.soap.partner.Field; import com.sforce.soap.partner.PicklistEntry; /** * @since 8.0 */ public class SalesforceFieldImpl implements SalesforceField { public Field salesforceField; public SalesforceFieldImpl( Field field ) { salesforceField = field; } @Override public String getLabel() { return salesforceField.getLabel(); } @Override public int getLength() { return salesforceField.getLength(); } @Override public String getName() { return salesforceField.getName(); } @Override public String getType() { return salesforceField.getType().value(); } @Override public boolean isPrimaryKey() { return salesforceField.getType().value() == "id"; //$NON-NLS-1$ } @Override public int getDigits() { return salesforceField.getDigits(); } @Override public int getPrecision() { return salesforceField.getPrecision(); } @Override public int getScale() { return salesforceField.getScale(); } @Override public boolean isUpdateable() { return salesforceField.isUpdateable(); } @Override public boolean isAuditField() { return isAuditField(salesforceField.getName()); } public static boolean isAuditField( String name ) { boolean result = false; if (name.equals(SalesforceField.AUDIT_FIELD_CREATED_BY_ID) || name.equals(SalesforceField.AUDIT_FIELD_CREATED_DATE) || name.equals(SalesforceField.AUDIT_FIELD_LAST_MODIFIED_BY_ID) || name.equals(SalesforceField.AUDIT_FIELD_LAST_MODIFIED_DATE) || name.equals(SalesforceField.AUDIT_FIELD_SYSTEM_MOD_STAMP)) { result = true; } return result; } @Override public List<String> getAllowedValues() { List<String> result = new ArrayList<String>(); List<PicklistEntry> entries = salesforceField.getPicklistValues(); if (null != entries) { for (int i = 0; i < entries.size(); i++) { PicklistEntry entry = entries.get(i); result.add(entry.getValue()); } } return result; } @Override public boolean isSearchable() { return salesforceField.isFilterable(); } @Override public boolean isCalculated() { return salesforceField.isCalculated(); } @Override public boolean isCustom() { return salesforceField.isCustom(); } @Override public boolean isDefaultedOnCreate() { return salesforceField.isDefaultedOnCreate(); } @Override public boolean isRestrictedPicklist() { return salesforceField.isRestrictedPicklist(); } }