All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.revolsys.gis.esri.gdb.xml.model.DETable Maven / Gradle / Ivy

The newest version!
package com.revolsys.gis.esri.gdb.xml.model;

import java.util.ArrayList;
import java.util.List;

import org.springframework.util.StringUtils;

import com.revolsys.gis.esri.gdb.xml.EsriGeodatabaseXmlConstants;
import com.revolsys.gis.esri.gdb.xml.model.enums.FieldType;

public class DETable extends DEDataset {

  private boolean hasOID;

  private String oidFieldName;

  private List fields = new ArrayList();

  private List indexes = new ArrayList();

  private String clsid = "{7A566981-C114-11D2-8A28-006097AFF44E}";

  private String extclsid = "";

  private List relationshipClassNames = new ArrayList();

  private String aliasName;

  private String modelName = "";

  private boolean hasGlobalID;

  private String globalIDFieldName = "";

  private String rasterFieldName = "";

  private List extensionProperties = new ArrayList();

  private String subtypeFieldName;

  private String defaultSubtypeCode;

  private List subtypes = null;

  private List controllerMemberships = new ArrayList();

  public DETable() {
    setDatasetType(EsriGeodatabaseXmlConstants.DATASET_TYPE_TABLE);
  }

  public DETable(final String clsid) {
    this.clsid = clsid;
  }

  public void addField(final Field field) {
    fields.add(field);
    if (field.getType() == FieldType.esriFieldTypeGlobalID) {
      hasGlobalID = true;
      globalIDFieldName = field.getName();
    }
  }

  public void addIndex(final Field field, final boolean unique,
    final String indexName) {
    final Index index = new Index();
    index.setName(indexName);
    index.setIsUnique(unique);
    index.addField(field);
    addIndex(index);
  }

  public void addIndex(final Index index) {
    this.indexes.add(index);
  }

  public String getAliasName() {
    return aliasName;
  }

  public String getCLSID() {
    return clsid;
  }

  public List getControllerMemberships() {
    return controllerMemberships;
  }

  public String getDefaultSubtypeCode() {
    return defaultSubtypeCode;
  }

  public String getEXTCLSID() {
    return extclsid;
  }

  public List getExtensionProperties() {
    return extensionProperties;
  }

  public List getFields() {
    return fields;
  }

  public String getGlobalIDFieldName() {
    if (!StringUtils.hasText(globalIDFieldName)) {
      for (final Field field : getFields()) {
        if (field.getType() == FieldType.esriFieldTypeGlobalID) {
          hasGlobalID = true;
          globalIDFieldName = field.getName();
        }
      }
    }
    return globalIDFieldName;
  }

  public List getIndexes() {
    return indexes;
  }

  public String getModelName() {
    return modelName;
  }

  public String getOIDFieldName() {
    return oidFieldName;
  }

  public String getRasterFieldName() {
    return rasterFieldName;
  }

  public List getRelationshipClassNames() {
    return relationshipClassNames;
  }

  public String getSubtypeFieldName() {
    return subtypeFieldName;
  }

  public List getSubtypes() {
    return subtypes;
  }

  public boolean isHasGlobalID() {
    return StringUtils.hasText(getGlobalIDFieldName());
  }

  public boolean isHasOID() {
    return hasOID;
  }

  public void setAliasName(final String aliasName) {
    this.aliasName = aliasName;
  }

  public void setCLSID(final String clsid) {
    this.clsid = clsid;
  }

  public void setControllerMemberships(
    final List controllerMemberships) {
    this.controllerMemberships = controllerMemberships;
  }

  public void setDefaultSubtypeCode(final String defaultSubtypeCode) {
    this.defaultSubtypeCode = defaultSubtypeCode;
  }

  public void setEXTCLSID(final String extclsid) {
    this.extclsid = extclsid;
  }

  public void setExtensionProperties(
    final List extensionProperties) {
    this.extensionProperties = extensionProperties;
  }

  public void setFields(final List fields) {
    this.fields = fields;
    for (final Field field : fields) {
      if (field.getType() == FieldType.esriFieldTypeGlobalID) {
        hasGlobalID = true;
        globalIDFieldName = field.getName();
      }
    }
  }

  public void setGlobalIDFieldName(final String globalIDFieldName) {
    this.globalIDFieldName = globalIDFieldName;
  }

  public void setHasGlobalID(final boolean hasGlobalID) {
    this.hasGlobalID = hasGlobalID;
  }

  public void setHasOID(final boolean hasOID) {
    this.hasOID = hasOID;
  }

  public void setIndexes(final List indexes) {
    this.indexes = indexes;
  }

  public void setModelName(final String modelName) {
    this.modelName = modelName;
  }

  public void setOIDFieldName(final String oidFieldName) {
    this.oidFieldName = oidFieldName;
  }

  public void setRasterFieldName(final String rasterFieldName) {
    this.rasterFieldName = rasterFieldName;
  }

  public void setRelationshipClassNames(
    final List relationshipClassNames) {
    this.relationshipClassNames = relationshipClassNames;
  }

  public void setSubtypeFieldName(final String subtypeFieldName) {
    this.subtypeFieldName = subtypeFieldName;
  }

  public void setSubtypes(final List subtypes) {
    this.subtypes = subtypes;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy