|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.esri.arcgis.geodatabase.Field
public class Field
ESRI Field object.
| Constructor Summary | |
|---|---|
Field()
Constructs a Field using ArcGIS Engine. |
|
Field(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. Field theField = (Field) obj; |
|
| Method Summary | |
|---|---|
void |
assign(IClone src)
Assigns the properties of src to the receiver. |
boolean |
checkValue(Object value)
Indicates if the value is valid given the field definition. |
Object |
describe(String name)
The description of the named object. |
void |
deserialize(IXMLSerializeData data)
Deserializes an object from XML. |
void |
empty()
Clears the value object. |
boolean |
equals(Object o)
Compare this object with another |
IClone |
esri_clone()
Clones the receiver and assigns the result to *clone. |
String |
getAliasName()
The alias name of the field. |
String |
getAsText()
Provides the value of the value object. |
void |
getClassID(GUID[] pClassID)
getClassID |
static String |
getClsid()
getClsid. |
Object |
getDefaultValue()
The default value of the field. |
IDomain |
getDomain()
The default domain of the field. |
IGeometryDef |
getGeometryDef()
The geometry definition for the field if IsGeometry is TRUE. |
int |
getLength()
The maximum length, in bytes, for values described by the field. |
String |
getModelName()
The model name of the field. |
String |
getName()
The name of the field. |
int |
getPrecision()
The precision for field values. |
IRasterDef |
getRasterDef()
The raster column definition. |
int |
getScale()
The scale for field values. |
void |
getSizeMax(_ULARGE_INTEGER[] pcbSize)
getSizeMax |
int |
getType()
The type of the field. |
int |
getVarType()
The VARTYPE of the field (e.g. |
int |
hashCode()
the hashcode for this object |
IGPDataType |
IGPValue_getDataType()
The data type of the value object. |
void |
isDirty()
isDirty |
boolean |
isDomainFixed()
Indicates if the field's domain is fixed. |
boolean |
isEditable()
Indicates if the field is editable. |
boolean |
isEmpty()
Indicates if the value object is empty. |
boolean |
isEqual(IClone other)
Indicates if the receiver and other have the same properties. |
boolean |
isIdentical(IClone other)
Indicates if the receiver and other are the same object. |
boolean |
isNullable()
Indicates if the field can contain null values. |
boolean |
isRequired()
Indicates if the field is required. |
void |
load(IStream pstm)
load |
void |
readExternal(ObjectInput in)
|
void |
save(IStream pstm,
int fClearDirty)
save |
void |
serialize(IXMLSerializeData data)
Serializes an object to XML. |
void |
setAliasName(String rhs1)
The alias name of the field. |
IGPMessage |
setAsText(String text)
Provides the value of the value object with the given string value. |
void |
setDefaultValue(Object rhs1)
The default value of the field. |
void |
setDomainByRef(IDomain rhs1)
The default domain of the field. |
void |
setDomainFixed(boolean rhs1)
Indicates if the field's domain cannot be modified. |
void |
setEditable(boolean rhs1)
Indicates if the field can be edited. |
void |
setGeometryDefByRef(IGeometryDef rhs1)
The geometry definition if IsGeometry is TRUE. |
void |
setIsNullable(boolean rhs1)
Indicates if field values can be null. |
void |
setLength(int rhs1)
The maximum length, in bytes, for field values. |
void |
setModelName(String name)
The model name of the field. |
void |
setName(String rhs1)
The name of the field. |
void |
setPrecision(int rhs1)
The precision for field values. |
void |
setRasterDefByRef(IRasterDef rasterDef)
The raster column definition. |
void |
setRequired(boolean rhs1)
Indicates if the field is required. |
void |
setScale(int rhs1)
The scale for field values. |
void |
setType(int rhs1)
The type for the field. |
void |
writeExternal(ObjectOutput out)
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
|---|
getJintegraDispatch, release |
| Constructor Detail |
|---|
public Field()
throws IOException,
UnknownHostException
IOException - if there are interop problems
UnknownHostException - if there are interop problems
public Field(Object obj)
throws IOException
Field theField = (Field) obj;
obj to Field.
obj - an object returned from ArcGIS Engine or Server
IOException - if there are interop problems| Method Detail |
|---|
public static String getClsid()
public boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Object
public String getName()
throws IOException,
AutomationException
Geodatabase feature classes, depending on their geometry type, may contain automatically generated fields for shape length and area. In personal and file geodatabases, these fields will be named using the name of the shape field suffixed with "_Length" and "_Area". In an SDE geodatabase, the names of these fields will be dependant on the underlying DBMS.
The IFeatureClass::ShapeFieldName property should be used to determine the name of the length and area fields for a feature class.
getName in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getAliasName()
throws IOException,
AutomationException
This is only supported on fields from object classes and feature classes that are registered with the geodatabase; Personal, File or ArcSDE geodatabases. For fields coming from other data sources (shapefiles, coverages, etc) the AliasName will be the same string as the field name.
getAliasName in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getType()
throws IOException,
AutomationException
For more information on the relation between esriFieldType values and the underlying SDE and DBMS data types, see the following articles in the ArcGIS Help:
The following table outlines the equivalent field data types in ArcCatalog, ArcObjects and .NET:
| ArcCatalog |
esriFieldType (IField::Type) |
.NET Variable Type |
|---|---|---|
| Short Integer | esriFieldTypeSmallInteger | System.Int16 |
| Long Integer | esriFieldTypeInteger | System.Int32 |
| Float | esriFieldTypeSingle | System.Single |
| Double | esriFieldTypeDouble | System.Double |
| Text | esriFieldTypeString | System.String |
| Date | esriFieldTypeDate | System.DateTime |
| Object ID | esriFieldTypeOID | System.Int32 |
| Geometry | esriFieldTypeGeometry | ESRI.ArcGIS.Geometry.IGeometry |
| Blob | esriFieldTypeBlob | ESRI.ArcGIS.esriSystem.IMemoryBlobStream |
| Raster | esriFieldTypeRaster | ESRI.ArcGIS.Geodatabase.IRasterValue |
| GUID | esriFieldTypeGUID | System.String |
| GlobalID | esriFieldTypeGlobalID | System.String |
The following table outlines the Coverage, INFO Item to Geodatabase field mapping:
| Item type | Item width | Geodatabase field type (esriFieldType) |
|---|---|---|
| B | 4 | esriFieldTypeInteger |
| C | 1-320 | esriFieldTypeString |
| D | 8 | esriFieldTypeDate |
| F | 4 | esriFieldTypeSingle |
| F | 8 | esriFieldTypeDouble |
| I | 1-4 | esriFieldTypeSmallInteger |
| I | 5-9 | esriFieldTypeInteger |
| I | 10-16 | esriFieldTypeDouble |
| N | 1-9 | esriFieldTypeSingle |
| N | 10-16 | esriFieldTypeDouble |
The following table outlines the Shapefile, dBASE field to Geodatabase field mapping:
| Field type | Field width | Geodatabase field type (esriFieldType) |
|---|---|---|
| Date | - | esriFieldTypeDate |
| String | 1-255 | esriFieldTypeString |
| Boolean | - | esriFieldTypeString |
| Number | 1-16 (decimals = 0) | esriFieldTypeInteger |
| Number | 1-16 (decimals > 0) | esriFieldTypeDouble |
getType in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IDomain getDomain()
throws IOException,
AutomationException
getDomain in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IField
public Object getDefaultValue()
throws IOException,
AutomationException
getDefaultValue in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getLength()
throws IOException,
AutomationException
getLength in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getPrecision()
throws IOException,
AutomationException
Precision is the number of digits in a number. For example, the number 56.78 has a precision of 4. Precision is only valid for fields that are numeric. Precision is always returned as 0 from personal or File geodatabase fields.
getPrecision in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getScale()
throws IOException,
AutomationException
Scale is the number of digits to the right of the decimal point in a number. For example, the number 56.78 has a scale of 2. Scale applies only to fields that are double. Scale is always returned as 0 from personal or File geodatabase fields.
getScale in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isNullable()
throws IOException,
AutomationException
isNullable in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IGeometryDef getGeometryDef()
throws IOException,
AutomationException
getGeometryDef in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getVarType()
throws IOException,
AutomationException
Returns an Integer indicating the subtype of a variable.
| Field type | VarType |
|---|---|
|
esriFieldTypeSmallInteger esriFieldTypeInteger esriFieldTypeSingle esriFieldTypeDouble esriFieldTypeString esriFieldTypeDate esriFieldTypeOID esriFieldTypeGeometry esriFieldTypeBlob esriFieldTypeRaster esriFieldTypeGUID esriFieldTypeGlobalID |
2 3 4 5 8 7 3 13 13 13 8 8 |
getVarType in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isDomainFixed()
throws IOException,
AutomationException
isDomainFixed in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IClassSchemaEdit.alterDomain(String, com.esri.arcgis.geodatabase.IDomain),
IClassSchemaEdit
public boolean isRequired()
throws IOException,
AutomationException
All tables and feature classes have a set of required fields that are necessary to record the state of any particular object in the table or feature class. These required fields are automatically created when you create a new feature class or table, and cannot be deleted. Required fields may also have required properties such as its domain property. You cannot modify the required property of a required field.
For example, in a simple feature class, OID and Shape are required fields. They do have properties such as their alias and geometry type that you can modify, but these fields cannot be deleted.
isRequired in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isEditable()
throws IOException,
AutomationException
It is best to loop through the fields of a feature and skip the fields that are not editable, rather than allowing users to attempt to edit fields that cannot be edited.
isEditable in interface IFieldIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean checkValue(Object value)
throws IOException,
AutomationException
CheckValue tests whether the specified value is valid for the current field, based upon the field type. For example, CheckValue will verify if the supplied value corresponds to field type of Small Integer or if the value corresponds to a string value.
The value is not checked against any existing domain.
checkValue in interface IFieldvalue - A Variant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IRasterDef getRasterDef()
throws IOException,
AutomationException
getRasterDef in interface IField2getRasterDef in interface IFieldEdit2IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setName(String rhs1)
throws IOException,
AutomationException
setName in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setAliasName(String rhs1)
throws IOException,
AutomationException
This is only supported on fields from object classes and feature classes that are registered with a personal, File or ArcSDE geodatabase.
This is not supported for shapefiles, coverages, or other data sources.
You can register a table within the geodatabase to become an object class by right-clicking on the table in ArcCatalog and clicking on "Register with Geodatabase".
setAliasName in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDomainByRef(IDomain rhs1)
throws IOException,
AutomationException
This is only supported on fields from object classes and feature classes that are registered with the geodatabase; Personal, File or ArcSDE.
This is not supported for shapefiles, coverages, or other data sources.
You can register a table within the geodatabase to become an object class by right-clicking on the table in ArcCatalog and clicking on "Register with Geodatabase".
The IFieldEdit::Domain method is used to associate domains when creating new fields. You should not use it to modify existing fields, for that purpose use IClassSchemaEdit::AlterDomain or ISubtypes::Domain.
setDomainByRef in interface IFieldEditrhs1 - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDefaultValue(Object rhs1)
throws IOException,
AutomationException
setDefaultValue in interface IFieldEditrhs1 - A Variant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setType(int rhs1)
throws IOException,
AutomationException
setType in interface IFieldEditrhs1 - A com.esri.arcgis.geodatabase.esriFieldType constant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setLength(int rhs1)
throws IOException,
AutomationException
The length property of a field has meaning only for esriFieldTypeString fields. The length property for all other field types is not important and will be ignored if specified.
setLength in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setPrecision(int rhs1)
throws IOException,
AutomationException
Precision is the number of digits in a number. For example, the number 56.78 has a precision of 4. Precision is only valid for fields that are numeric.
Precision is always returned as 0 from personal or File geodatabase fields.
setPrecision in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setScale(int rhs1)
throws IOException,
AutomationException
Scale is the number of digits to the right of the decimal point in a number. For example, the number 56.78 has a scale of 2. Scale applies only to fields that are double.
Precision is always returned as 0 from personal or File geodatabase fields.
setScale in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setIsNullable(boolean rhs1)
throws IOException,
AutomationException
setIsNullable in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setGeometryDefByRef(IGeometryDef rhs1)
throws IOException,
AutomationException
setGeometryDefByRef in interface IFieldEditrhs1 - A reference to a com.esri.arcgis.geodatabase.IGeometryDef (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDomainFixed(boolean rhs1)
throws IOException,
AutomationException
setDomainFixed in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setRequired(boolean rhs1)
throws IOException,
AutomationException
The Required property only applies to changes to modifying the schema of a Field's properties or blocking it from being deleted. It has no impact on the ability to update or add\delete the values within the field. Also, setting the Required field property to be True will block the user from deleting the field through the GUI, as well as through ArcObjects.
setRequired in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setEditable(boolean rhs1)
throws IOException,
AutomationException
setEditable in interface IFieldEditrhs1 - The rhs1 (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setRasterDefByRef(IRasterDef rasterDef)
throws IOException,
AutomationException
RasterDef is required for creating a raster field.
setRasterDefByRef in interface IFieldEdit2rasterDef - A reference to a com.esri.arcgis.geodatabase.IRasterDef (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getModelName()
throws IOException,
AutomationException
Returns the model name currently associated with the field or object class.
getModelName in interface IModelInfoIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IObjectClass,
IField
public void setModelName(String name)
throws IOException,
AutomationException
setModelName in interface IModelInfoname - The name (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IObjectClass,
IField
public void getClassID(GUID[] pClassID)
throws IOException,
AutomationException
IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.
getClassID in interface IPersistpClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IClone esri_clone()
throws IOException,
AutomationException
esri_clone in interface ICloneIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void assign(IClone src)
throws IOException,
AutomationException
assign in interface IClonesrc - A reference to a com.esri.arcgis.system.IClone (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isEqual(IClone other)
throws IOException,
AutomationException
IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.
isEqual in interface ICloneother - A reference to a com.esri.arcgis.system.IClone (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isIdentical(IClone other)
throws IOException,
AutomationException
IsIdentical returns true if the receiver and the source reference the same object.
isIdentical in interface ICloneother - A reference to a com.esri.arcgis.system.IClone (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IGPDataType IGPValue_getDataType()
throws IOException,
AutomationException
IGPValue_getDataType in interface IGPValueIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isEmpty()
throws IOException,
AutomationException
The IsEmpty method returns if this Value object has been set or not.
isEmpty in interface IGPValueIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void empty()
throws IOException,
AutomationException
The Empty method clears this Value object and releases any associated objects.
empty in interface IGPValueIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getAsText()
throws IOException,
AutomationException
The GetAsText method returns this Value object as a text string. For DataElement value objects it is the NameString. For simple value objects it is the text string for the scalar value.
getAsText in interface IGPValueIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IGPMessage setAsText(String text)
throws IOException,
AutomationException
The SetAsText method sets the value of this Value object as a text string. For DataElement value objects it is the NameString. For simple value objects it is the text string representing the scalar value.
setAsText in interface IGPValuetext - The text (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void serialize(IXMLSerializeData data)
throws IOException,
AutomationException
serialize in interface IXMLSerializedata - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void deserialize(IXMLSerializeData data)
throws IOException,
AutomationException
deserialize in interface IXMLSerializedata - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void isDirty()
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
isDirty in interface IPersistStreamIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void load(IStream pstm)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
load in interface IPersistStreampstm - A reference to a com.esri.arcgis.system.IStream (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void save(IStream pstm,
int fClearDirty)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
save in interface IPersistStreampstm - A reference to a com.esri.arcgis.system.IStream (in)fClearDirty - The fClearDirty (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
getSizeMax in interface IPersistStreampcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public Object describe(String name)
throws IOException,
AutomationException
describe in interface IGPDescribename - The name (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void writeExternal(ObjectOutput out)
throws IOException
writeExternal in interface ExternalizableIOException
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
readExternal in interface ExternalizableIOException
ClassNotFoundException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||