|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.location.CompositeLocator
public class CompositeLocator
A locator that contains collection of other locators.
Constructor Summary | |
---|---|
CompositeLocator()
Constructs a CompositeLocator using ArcGIS Engine. |
|
CompositeLocator(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. CompositeLocator theCompositeLocator = (CompositeLocator) obj; |
Method Summary | |
---|---|
void |
assign(IClone src)
Assigns the properties of src to the receiver. |
boolean |
equals(Object o)
Compare this object with another |
IClone |
esri_clone()
Clones the receiver and assigns the result to *clone. |
IArray |
findStandardizedAddressCandidates(IPropertySet standardizedAddress)
Generates candidates for a standardized address. |
IArray |
findStandardizedIntersectionCandidates(IPropertySet standardizedIntersection)
Generates candidates for a standardized intersection. |
IFields |
getAddressFields()
Fields needed to geocode a table of addresses. |
String |
getCategory()
Category of the locator. |
static String |
getClsid()
getClsid. |
Object |
getDefaultInputFieldNames()
Recognized names for the single line input field. |
Object |
getDefaultInputFieldNames(String addressField)
Recognized names for an input field. |
String |
getDescription()
Description of the locator. |
int |
getEndOffset()
End offset percentage. |
ILocatorName |
getFullName()
The Name object for the locator. |
IFields |
getIntersectionCandidateFields()
Fields contained by intersection candidates. |
String |
getIntersectionConnectors()
Connector strings used to designate intersections. |
ILocator |
getLocator(String name)
Participating locator. |
Object |
getLocatorNames()
Names of participating locators. |
ILocatorWorkspace |
getLocatorWorkspace()
The locator workspace that contains the locator. |
IFields |
getMatchFields()
Fields contained in the geocoding result. |
int |
getMinimumCandidateScore()
Minimum candidate score setting. |
int |
getMinimumMatchScore()
Minimum match score setting. |
String |
getName()
Name of the locator. |
double |
getSearchDistance()
Search distance. |
int |
getSearchDistanceUnits()
Units used for the search distance. |
double |
getSideOffset()
Side offset distance. |
int |
getSideOffsetUnits()
Units used for the side offset. |
IField |
getSingleLineAddressField()
Field needed to geocode a single line address. |
int |
getSpellingSensitivity()
Spelling sensitivity setting. |
IFields |
getStandardizeFields()
Fields contained in a standardized address. |
IFields |
getStandardizeIntersectionFields()
Fields contained in a standardized intersection. |
ILocatorUI |
getUserInterface()
User interface for the locator. |
int |
hashCode()
the hashcode for this object |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
boolean |
isAddPercentAlongToMatchFields()
Indicates if the percentage along the reference feature at which the address is located is included in the geocoding result. |
boolean |
isAddReferenceIDToMatchFields()
Indicates if the feature ID of the matched feature is included in the geocoding result. |
boolean |
isAddStandardizeStringToMatchFields()
Indicates if the standardized address is included in the geocoding result. |
boolean |
isAddXYCoordsToMatchFields()
Indicates if the x and y coordinates of the address location are included in the geocoding result. |
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 |
isIntersection(IPropertySet address)
Indicates if an address is an intersection. |
boolean |
isMatchIfScoresTie()
Indicates whether addresses should be arbitrarily matched to a feature when two or more features have the same best score. |
boolean |
isUseRelativePaths()
Indicates if the paths to the reference data should be stored relative to the locator. |
IPropertySet |
matchAddress(IPropertySet address)
Geocodes a single address. |
void |
matchRecordSet(ICursor addressCursor,
String addressFieldNames,
IRecordSetInit outputRecordSet,
String outputFieldNames,
IPropertySet fieldsToCopy,
ITrackCancel cancelTracker)
Geocodes a cursor of addresses to a RecordSet. |
IPropertySet |
matchStandardizedAddress(IPropertySet standardizedAddress)
Geocodes a single standardized address. |
IPropertySet |
matchStandardizedIntersection(IPropertySet standardizedIntersection)
Geocodes a single standardized intersection. |
void |
matchTable(ITable addressTable,
String addressFieldNames,
String whereClause,
IFeatureClass outputFeatureClass,
String outputFieldNames,
IPropertySet fieldsToCopy,
ITrackCancel cancelTracker)
Geocodes a table of addresses. |
void |
rematchTable(ITable pInputTable,
String inputFieldNames,
String inputJoinFieldName,
IFeatureClass resultTable,
String outputFieldNames,
String outputJoinFieldName,
String whereClause,
ITrackCancel cancelTracker)
Rematches a geocoded feature class or shapefile. |
IPropertySet |
reverseGeocode(IPoint location,
boolean bReturnIntersection)
Generate an address based on a point. |
void |
setAddPercentAlongToMatchFields(boolean bAddPercentAlongToMatchFields)
Indicates if the percentage along the reference feature at which the address is located is included in the geocoding result. |
void |
setAddReferenceIDToMatchFields(boolean bAddReferenceIDToMatchFields)
Indicates if the feature ID of the matched feature is included in the geocoding result. |
void |
setAddStandardizeStringToMatchFields(boolean bAddStandardizeStringToMatchFields)
Indicates if the standardized address is included in the geocoding result. |
void |
setAddXYCoordsToMatchFields(boolean bAddXYCoordsToMatchFields)
Indicates if the x and y coordinates of the address location are included in the geocoding result. |
void |
setDefaultInputFieldNames(String addressField,
Object rhs2)
Recognized names for a required input field. |
void |
setDescription(String description)
Description of the locator. |
void |
setEndOffset(int endOffset)
End offset percentage. |
void |
setIntersectionConnectors(String intersectionConnectors)
Connector strings used to designate intersections. |
void |
setMatchIfScoresTie(boolean bMatchIfScoresTie)
Indicates whether addresses should be arbitrarily matched to a feature when two or more features have the same best score. |
void |
setMinimumCandidateScore(int minimumCandidateScore)
Minimum candidate score setting. |
void |
setMinimumMatchScore(int minimumMatchScore)
Minimum match score setting. |
void |
setSearchDistance(double searchDistance)
Search distance. |
void |
setSearchDistanceUnits(int searchDistanceUnits)
Units used for the search distance. |
void |
setSideOffset(double sideOffset)
Side offset distance. |
void |
setSideOffsetUnits(int sideOffsetUnits)
Units used for the side offset. |
void |
setSpellingSensitivity(int spellingSensitivity)
Spelling sensitivity setting. |
void |
setUseRelativePaths(boolean bUseRelativePaths)
Indicates if the paths to the reference data should be stored relative to the locator. |
IPropertySet |
standardizeAddress(IPropertySet address,
boolean[] isAnIntersection)
Standardizes an address. |
void |
validate()
Checks that the locator properties and locator dataset are present and valid. |
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 CompositeLocator() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic CompositeLocator(Object obj) throws IOException
CompositeLocator theCompositeLocator = (CompositeLocator) obj;
obj
to CompositeLocator
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public IClone esri_clone() throws IOException, AutomationException
esri_clone
in interface IClone
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void assign(IClone src) throws IOException, AutomationException
assign
in interface IClone
src
- 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 IClone
other
- 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 IClone
other
- 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 ILocatorName getFullName() throws IOException, AutomationException
Returns a reference to a LocatorName object that represents the locator.
getFullName
in interface ILocatorDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILocatorName
,
LocatorName
,
ILocatorWorkspace.getLocatorName(String)
public ILocatorWorkspace getLocatorWorkspace() throws IOException, AutomationException
Returns a reference to the locator workspace that contains the locator.
getLocatorWorkspace
in interface ILocatorDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILocatorWorkspace2
,
ILocatorManager2
,
DatabaseLocatorWorkspace
,
ILocatorWorkspace
,
ILocatorManager.getLocatorWorkspaceFromPath(String)
,
LocatorEnumerator
,
ILocatorWorkspaceName2
,
LocatorWorkspaceName
,
IDatabaseLocatorWorkspace
,
LocalLocatorWorkspace
,
ILocatorManager
,
LocatorManager
,
ILocatorWorkspaceName
public String getName() throws IOException, AutomationException
Locators and locator styles stored in an ArcSDE locator workspace are prefixed by the name of the ArcSDE user that owns the locator styles, as in "SDE.US Streets with Zone".
getName
in interface ILocator
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getDescription() throws IOException, AutomationException
getDescription
in interface ILocator
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDescription(String description) throws IOException, AutomationException
setDescription
in interface ILocator
description
- The description (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getCategory() throws IOException, AutomationException
The Category property returns a string indicating the category to which the locator belongs. There are two categories that are defined for locators provided with ArcGIS:
getCategory
in interface ILocator
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ILocatorUI getUserInterface() throws IOException, AutomationException
The UserInterface property returns an object that you can use to display the user interfaces for the locator.
getUserInterface
in interface ILocator
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getAddressFields() throws IOException, AutomationException
The AddressFields property returns a Fields object that specifies the fields that the locator uses to geocode addresses. The IField::Name property of each Field object in the collection is the internal field name used by the locator.
The IField::Required property of each Field indicates whether or not the locator requires this field to geocode addresses. Fields with a Required value of False are not required by the Locator, but may improve the match scores of the addresses.
You can use the Fields returned by this property to determine which fields in a table contain address information using the DefaultInputFieldNames property.
getAddressFields
in interface IAddressInputs
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getDefaultInputFieldNames(String addressField) throws IOException, AutomationException
getDefaultInputFieldNames
in interface IAddressInputs
addressField
- The addressField (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMinimumMatchScore() throws IOException, AutomationException
The MinimumMatchScore property specifies how well addresses have to match their most likely candidate in the reference data in order to be considered matched. A perfect match yields a score of 100. A match score between 75 and 100 can generally be considered a good match, depending upon the quality of your reference and address data. An address with no candidates with scores euqal to or greater than the minimum match score will not be matched.
The MinimumMatchScore property can have values between 0 and 100. If your application demands that addresses be located with a high level of confidence, you should specify a high value. If you want to maximize the number of addresses that can be matched and don’t mind if some addresses are potentially matched incorrectly, you can use a lower value.
getMinimumMatchScore
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMinimumMatchScore(int minimumMatchScore) throws IOException, AutomationException
setMinimumMatchScore
in interface IGeocodingProperties
minimumMatchScore
- The minimumMatchScore (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMinimumCandidateScore() throws IOException, AutomationException
Locators use the MinimumCandidateScore setting to filter the set of candidates that are returned by the IAddressCandidates::FindAddressCandidates, IAdvancedGeocoding::FindStandardizedAddressCandidates, and IAdvancedIntersectionGeocoding::FindStandardizedIntersectionCandidates methods. Only candidates with a score greater than the minimum candidate score will be returned by these methods.
The minimum candidate score for a locator can have values between 0 and 100. If the Locator is unable to come up with any likely candidates for an address that you want to geocode, you can specify a lower value so that candidates with very low scores are considered.
getMinimumCandidateScore
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMinimumCandidateScore(int minimumCandidateScore) throws IOException, AutomationException
setMinimumCandidateScore
in interface IGeocodingProperties
minimumCandidateScore
- The minimumCandidateScore (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSpellingSensitivity() throws IOException, AutomationException
The SpellingSensitivity property controls how much variation the locator will allow when it searches for likely candidates in the reference data. A low value for spelling sensitivity will allow “Mane”, “Maine”, and “Man” to be treated as match candidates for “Main”. A higher value will restrict candidates to exact matches. The spelling sensitivity does not affect the match score of each candidate; it only controls how many candidates the locator considers. The locator then computes the match score of each candidate and ranks the candidates by score.
The SpellingSensitivity property can have values between 0 and 100. If you are sure that your addresses are spelled correctly, you can specify a higher value for the SpellingSensitivity. However, if you think that your addresses may contain spelling errors, then you should specify a lower value.
getSpellingSensitivity
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSpellingSensitivity(int spellingSensitivity) throws IOException, AutomationException
setSpellingSensitivity
in interface IGeocodingProperties
spellingSensitivity
- The spellingSensitivity (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getEndOffset() throws IOException, AutomationException
Locators that use polyline features as reference data interpolate positions along reference data features for geocoded addresses. In order to prevent features that are located at the end of a reference data feature from falling on top of other features (for example, a cross street), the locator can apply a “squeeze factor”, or end offset, to the location of a geocoded address.
The EndOffset property specifies by what amount to offset geocoded locations from the end of reference data features, and is expressed as a percentage of the length of the reference feature, between 0 percent and 50 percent. An EndOffset value of 0 will not offset features from the end of the reference feature. An EndOffset value of 50 percent will locate all geocoded addresses at the middle of the reference feature.
Warning: Do not use EndOffset in combination with EndOffsetDistanceUnits from IGeocodingProperties2 because it may produce some unexpected results. Use EndOffsetDistance in combination with EndOffsetDistanceUnits instead.
getEndOffset
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setEndOffset(int endOffset) throws IOException, AutomationException
setEndOffset
in interface IGeocodingProperties
endOffset
- The endOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSideOffset() throws IOException, AutomationException
Some locators support geocoding addresses to a particular side of a street. For those locators, you can specify a side offset using the SideOffset property, which specifies how far from the correct side of the street geocoded addresses should be offset. The SideOffsetUnits property specifies the units for the side offset.
You can use these properties to improve the cartographic appearance of your geocoded feature classes. By default, the value of the SideOffsetUnits property is esriUnknownUnits, which indicates to use the reference data’s units.
getSideOffset
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSideOffset(double sideOffset) throws IOException, AutomationException
setSideOffset
in interface IGeocodingProperties
sideOffset
- The sideOffset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSideOffsetUnits() throws IOException, AutomationException
Some locators support geocoding addresses to a particular side of a street. For those locators, you can specify a side offset using the SideOffset property, which specifies how far from the correct side of the street geocoded addresses should be offset. The SideOffsetUnits property specifies the units for the side offset.
You can use these properties to improve the cartographic appearance of your geocoded feature classes. By default, the value of the SideOffsetUnits property is esriUnknownUnits, which indicates to use the reference data’s units.
getSideOffsetUnits
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSideOffsetUnits(int sideOffsetUnits) throws IOException, AutomationException
setSideOffsetUnits
in interface IGeocodingProperties
sideOffsetUnits
- A com.esri.arcgis.system.esriUnits constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isAddXYCoordsToMatchFields() throws IOException, AutomationException
The AddXYCoordsToMatchFields property indicates if the matches returned by the locator have attributes representing the x and y coordinates of the geocoded locations. If this property has a value of True, then the locator will return two additional attributes for matches — one each for the x and y coordinates of the geocoded features. These attributes will be included in the match fields for the locator.
isAddXYCoordsToMatchFields
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAddXYCoordsToMatchFields(boolean bAddXYCoordsToMatchFields) throws IOException, AutomationException
setAddXYCoordsToMatchFields
in interface IGeocodingProperties
bAddXYCoordsToMatchFields
- The bAddXYCoordsToMatchFields (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isAddStandardizeStringToMatchFields() throws IOException, AutomationException
The AddStandardizeStringToMatchFields property indicates if the matches returned by the locator have an attribute containing a string representing the standardization of the address. The standardization string is a string with each component of the standardized address separated by pipe ("|") characters. If this property has a value of True, then this attribute will be included in the match fields for the locator.
isAddStandardizeStringToMatchFields
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAddStandardizeStringToMatchFields(boolean bAddStandardizeStringToMatchFields) throws IOException, AutomationException
setAddStandardizeStringToMatchFields
in interface IGeocodingProperties
bAddStandardizeStringToMatchFields
- The bAddStandardizeStringToMatchFields (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isAddReferenceIDToMatchFields() throws IOException, AutomationException
The AddReferenceIDToMatchFields property indicates if the matches returned by the locator have an attribute containing the FeatureID of the reference data feature to which the address was matched. If this property has a value of True, then this attribute will be included in the match fields for the locator.
isAddReferenceIDToMatchFields
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAddReferenceIDToMatchFields(boolean bAddReferenceIDToMatchFields) throws IOException, AutomationException
setAddReferenceIDToMatchFields
in interface IGeocodingProperties
bAddReferenceIDToMatchFields
- The bAddReferenceIDToMatchFields (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isAddPercentAlongToMatchFields() throws IOException, AutomationException
For locators that interpolate geocoded locations along polyline reference data features, the AddPercentAlongToMatchFields property indicates if the matches returned by the locator have an attribute containing the percentage along the reference data feature at which the address was located, with values between 0 and 100. If this property has a value of True, then this attribute will be included in the match fields for the locator.
isAddPercentAlongToMatchFields
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAddPercentAlongToMatchFields(boolean bAddPercentAlongToMatchFields) throws IOException, AutomationException
setAddPercentAlongToMatchFields
in interface IGeocodingProperties
bAddPercentAlongToMatchFields
- The bAddPercentAlongToMatchFields (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isMatchIfScoresTie() throws IOException, AutomationException
If the locator finds two or more candidates with the same best candidate score, and that score is greater than the minimum match score, then you can use the MatchIfCandidatesTie property to specify whether or not the locator should arbitrarily match the address to one of those candidates. If so, the locator will match the address to the first of these candidates that
it encounters.
isMatchIfScoresTie
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMatchIfScoresTie(boolean bMatchIfScoresTie) throws IOException, AutomationException
setMatchIfScoresTie
in interface IGeocodingProperties
bMatchIfScoresTie
- The bMatchIfScoresTie (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDefaultInputFieldNames(String addressField, Object rhs2) throws IOException, AutomationException
setDefaultInputFieldNames
in interface IGeocodingProperties
addressField
- The addressField (in)rhs2
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getIntersectionConnectors() throws IOException, AutomationException
The IntersectionConnectors property lets you specify strings that are used to delimit intersection addresses. Some address locators can geocode intersection addresses such as "New York St. & W. Redlands Blvd.". This property is a string containing all of the strings that can be used to delimit intersections (such as "&", "AND", or "AT"). Each intersection connector is separated by a space in this string.
getIntersectionConnectors
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setIntersectionConnectors(String intersectionConnectors) throws IOException, AutomationException
setIntersectionConnectors
in interface IGeocodingProperties
intersectionConnectors
- The intersectionConnectors (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isUseRelativePaths() throws IOException, AutomationException
The UseRelativePaths property indicates if the locator stores paths to reference data sources as relative path names. Storing paths to reference data sources as relative paths names allows users to copy a locator and its reference data between folders in ArcCatalog without invalidating the locator. It also allows users to access the same locator from a shared network directory.
isUseRelativePaths
in interface IGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setUseRelativePaths(boolean bUseRelativePaths) throws IOException, AutomationException
setUseRelativePaths
in interface IGeocodingProperties
bUseRelativePaths
- The bUseRelativePaths (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getMatchFields() throws IOException, AutomationException
The MatchFields property returns the fields that are created by the address locator for matched addresses.
The MatchFields that can be returned by geocoding services included with ArcGIS are:
All address locators based on the address locator styles provided with ArcGIS return the Shape, Status , Score and Match_addr fields.
You can use the fields returned by this property to inspect the match returned by the MatchAddress method, or to define the feature class that is created using the MatchTable method. See the MatchTable method for more information on fields written to the result feature class.
getMatchFields
in interface IAddressGeocoding
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IAddressGeocoding.matchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, com.esri.arcgis.system.IPropertySet, com.esri.arcgis.system.ITrackCancel)
,
IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel)
,
IAddressGeocoding.matchAddress(com.esri.arcgis.system.IPropertySet)
,
IAddressGeocoding
public IPropertySet matchAddress(IPropertySet address) throws IOException, AutomationException
The address parameter is a PropertySet that contains the components of the address that you want to match. The property names in this PropertySet are defined by the IAddressInputs::AddressFields property.
The PropertySet returned by this method contains properties defined by the MatchFields property.
matchAddress
in interface IAddressGeocoding
address
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IAddressGeocoding.matchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, com.esri.arcgis.system.IPropertySet, com.esri.arcgis.system.ITrackCancel)
,
IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel)
,
IAddressGeocoding.matchAddress(com.esri.arcgis.system.IPropertySet)
,
IAddressGeocoding
public void matchTable(ITable addressTable, String addressFieldNames, String whereClause, IFeatureClass outputFeatureClass, String outputFieldNames, IPropertySet fieldsToCopy, ITrackCancel cancelTracker) throws IOException, AutomationException
The MatchTable method geocodes a table of addresses to a feature class.
Before you geocode a table of addresses, you must first create the feature class that will contain the geocoded features. In addition to having an ObjectID and the match fields created by the locator, you can also specify fields from the address table to copy to the geocoded feature class. When you geocode a table of addresses using ArcGIS Desktop, the output feature class contains two copies of the address fields from the address table. One copy is a static copy that contains the original values of the address components from the address table. The second copy is an editable copy that you can use to modify the address when rematching the geocoded feature class. The names of the latter set of address fields are prefixed with "ARC_". In general, it is a good idea to follow this pattern when programatically geocoding a table of addresses, since the locator that you attach to the geocoded feature class will then only need to refer to the geocoded feature class itself (and not the original address table) in order to be able to rematch the addresses in the geocoded feature class.
The addressFieldNames parameter is used to specify the names of the fields in the addressTable that contain address information. The field names are contained in a comma-delimited string, in the order required by the address locator. You can get the set of address fields for the geocoding service using IAddressInputs::AddressFields. Use the IField::Required property to determine which address fields are required by the address locator. You must specify the names of the required fields in the address table. If your address table does not contain an optional address field, then do not specify a name in the this property.
The WhereClause parameter is used to restrict which addresses in the table are geocoded using a query.
The outputFeatureClass parameter is the feature class which will contain the geocoded addresses. This feature class must have an ObjectID field, and the match fields for the address locator. Use the MatchFields property to get the match fields for the address locator. In addition to the fields returned from MatchFields property, the result feature class also contains the Match_type field indicating how an adddress was matched. The field may contain the following values assigned by IAddressGeocoding::MatchTable or IAddressUI::RematchTable
If you want to copy any additional fields from the address table, or create new fields in the feature class, you must also add them to the feature class before geocoding the table.
The outputFieldNames parameter is a string containing a comma-delimited list of the names of the match fields in the feature class. The names of the fields must be specified in the same order as defined by the address locator. Use the MatchFields property to get the match fields for the address locator.
The fieldsToCopy parameter allows you to copy values from fields in the address table to the feature class. To copy a field, add a property to the PropertySet with the name of the destination field in the feature class, and with a value of the name of the field in the address table. You must add the the field to the feature class when you create it in order to copy values from the address table.
The CancelTracker parameter allows you to optionally display the progress while the geocoding service geocodes the table of addresses.
In order to be able to rematch a geocoded feature class, you must attach a locator to the geocoded feature class.
matchTable
in interface IAddressGeocoding
addressTable
- A reference to a com.esri.arcgis.geodatabase.ITable (in)addressFieldNames
- The addressFieldNames (in)whereClause
- The whereClause (in)outputFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)outputFieldNames
- The outputFieldNames (in)fieldsToCopy
- A reference to a com.esri.arcgis.system.IPropertySet (in)cancelTracker
- A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILocatorManager2
,
IAddressGeocoding.matchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, com.esri.arcgis.system.IPropertySet, com.esri.arcgis.system.ITrackCancel)
,
AttachedLocator
,
ILocatorAttach2
,
IAttachedLocator
,
IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel)
,
ILocatorManager
,
LocatorManager
,
IAddressGeocoding.matchAddress(com.esri.arcgis.system.IPropertySet)
,
IAddressGeocoding
,
ILocatorAttach2.attachLocator(com.esri.arcgis.geodatabase.ILocator, com.esri.arcgis.geodatabase.ITable, String, String)
public void validate() throws IOException, AutomationException
The Validate method allows you to check that the locator is ready to be used. This method checks if the locator properties and locator dataset are present and valid.
This method preloads all locators referenced by a composite locator. Use this method to optimize performance as locators are loaded on application startup, so that the first geocoding operation will run quickly.
This method returns a value of True if the locator is valid, and returns an error if it is not.
validate
in interface IAddressGeocoding
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.GeocodingIndexObject
,
GeocodingIndexClassExtension
,
IReferenceDataTable.getGeocodingIndexes()
,
ReferenceDataIndex
,
IReferenceDataFieldEdit
,
ReferenceDataFieldsEnumerator
,
IGeocodingIndexCompute
,
ReferenceDataTableEnumerator
,
IReferenceDataField
,
IReferenceDataTableEdit
,
ESRIFDOAddressLocator
,
IReferenceDataFile.getPathName()
,
StreetMapAddressLocator
,
IEnumReferenceDataField
,
IReferenceDataFile
,
IReferenceDataTable
,
IReferenceDataTables
,
IReferenceDataTables.getTables()
,
ReferenceDataField
,
IReferenceDataFile.getFilters()
,
IEnumReferenceDataTable
,
IReferenceDataIndex
,
IReferenceDataIndexEdit
,
ReferenceDataTable
,
IAddressGeocoding.validate()
,
ReferenceDataIndexEnumerator
,
IEnumReferenceDataIndex
public void matchRecordSet(ICursor addressCursor, String addressFieldNames, IRecordSetInit outputRecordSet, String outputFieldNames, IPropertySet fieldsToCopy, ITrackCancel cancelTracker) throws IOException, AutomationException
The MatchRecordSet method is similar to the IAddressGeocoding::MatchTable method, in that the locator geocodes a set of input address records to a set of output features. Unlike the IAddressGeocoding::MatchTable method, the output features are not stored in a feature class. Using this method is useful when geocoding multiple addresses and the geocoding results do not need to be persisted in a feature class.
The addressCursor parameter is a Cursor that contains the set of addresses to geocode. As a minimum, the cursor must contain all of the address fields required by the locator, and should contain as many address fields that can be used by the locator as are available. The cursor can contain additional fields, and these fields can be copied to the resulting RecordSet.
The addressFieldNames parameter is a comma-delimited string containing the field names in the cursor that correspond to the address fields used by the locator. The names of the fields given in this parameter must be specified in the same order as the order of the address fields returned by the IAddressInputs::AddressFields property.
The outputRecordSet parameter is a reference to the RecordSet object to which the locator will add the geocoded features. The Recordset must be co-created before passing it as a parameter to the MatchRecordSet method, and as a minimum, should contain the match fields generated by the locator. Use the IAddressGeocoding::MatchFields property to get the set of match fields generated by the locator. The RecordSet can optionally contain any fields for attributes that you want to copy from the addressCursor, as specified by the fieldsToCopy parameter. Use the IRecordSetInit::CreateTable method to initialize the RecordSet with the desired set of fields.
The outputFieldNames parameter is a comma-delimited string containing the names of the fields in the outputRecordSet corresponding to the match fields generated by the locator. The names ofthe fields given in this parameter must be specified in the same order and the order of the match fields returned by the IAddressGeocoding::MatchFields property.
The fieldsToCopy parameter is a PropertySet containing the mapping of fields in the addressCursor that you wish to copy to the outputRecordSet. The names of the properties in the PropertySet are the names of the fields in the outputRecordSet that will contain the copied values, and the value of the properties are the names of the fields in the addressCursor that contain the values to copy. If you do not wish to copy attributes from the addressCursor to the ouputRecordSet, you must still co-create an empty PropertySet and pass it to the MatchRecordSet method using this parameter.
The cancelTracker parameter is an optional reference to a CancelTracker object that allows you to display the progress while the locator geocodes the addressCursor.
matchRecordSet
in interface IAdvancedGeocoding2
addressCursor
- A reference to a com.esri.arcgis.geodatabase.ICursor (in)addressFieldNames
- The addressFieldNames (in)outputRecordSet
- A reference to a com.esri.arcgis.geodatabase.IRecordSetInit (in)outputFieldNames
- The outputFieldNames (in)fieldsToCopy
- A reference to a com.esri.arcgis.system.IPropertySet (in)cancelTracker
- A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getStandardizeFields() throws IOException, AutomationException
All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.
Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.
The StandardizeFields property returns a Fields collection that specifies the fields that are contained by standardized addresses. The IField::Name property of each Field object in the collection is the internal field name used by the locator.
You can use fields returned by the StandardizeFields property to inspect the results of the StandardizeAddress method.
getStandardizeFields
in interface IAdvancedGeocoding
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rematchTable(ITable pInputTable, String inputFieldNames, String inputJoinFieldName, IFeatureClass resultTable, String outputFieldNames, String outputJoinFieldName, String whereClause, ITrackCancel cancelTracker) throws IOException, AutomationException
The RematchTable method rematches a geocoded feature class or shapefile. In general, you will use the RematchTable method on a locator that you retreived from an AttachedLocator on a geocoded feature class. You can get most of the parameters required by this function from the AttachedLocator.
The pInputTable parameter is a reference to the table that contains the address information, which is usually the geocoded feature class.
The pInputFieldNames parameter is a comma-delimited string containing the names of the fields in pInputTable that contain the address information. Usually, these fields are copied from the original address table to the geocoded feature class when the geocoded feature class is first created, and are prefixed with "ARC_". The field names in the string must be given in the same order as specified by the IAddressInputs::AddressFields property.
The InputJoinFieldName parameter is the name of the field in pInputTable that relates records in this table to records in resultTable. Usually, this parameter is not used because pInputTable and resultTable refer to the same feature class.
The resultTable parameter is the feature class that contains the geocoded addresses.
The outputFieldNames parameter is a comma-delimited string containing the names of the fields in resultTable that contain match information. You can use the IAddressGeocoding::MatchFields property to determine which fields contain the match information. The field names in the string must be given in the same order as specified by the IAddressGeocoding::MatchFields property.
The OuputJoinFieldName parameter is the name of the field in resultTable that relates records in this feature class to records in pInputTable. Usually, this parameter is not used because pInputTable and resultTable refer to the same feature class.
The WhereClause parameter is a string that contains a SQL clause specifying which records in pInputTable to rematch. To rematch all of the records, specify a blank string for this parameter.
The CancelTracker parameter is an optional parameter that you can use to specify a CancelTracker to display the progress of the rematch operation.
rematchTable
in interface IAdvancedGeocoding
pInputTable
- A reference to a com.esri.arcgis.geodatabase.ITable (in)inputFieldNames
- The inputFieldNames (in)inputJoinFieldName
- The inputJoinFieldName (in)resultTable
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)outputFieldNames
- The outputFieldNames (in)outputJoinFieldName
- The outputJoinFieldName (in)whereClause
- The whereClause (in)cancelTracker
- A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.com.esri.arcgis.locationui.IAddressUI
,
IAdvancedGeocoding.rematchTable(com.esri.arcgis.geodatabase.ITable, String, String, com.esri.arcgis.geodatabase.IFeatureClass, String, String, String, com.esri.arcgis.system.ITrackCancel)
,
ILocatorUI.matchTable(int, com.esri.arcgis.geodatabase.ITable, com.esri.arcgis.geodatabase.ILocator, String[])
public IPropertySet matchStandardizedAddress(IPropertySet standardizedAddress) throws IOException, AutomationException
All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.
Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.
The standardizedAddress parameter is a PropertySet containing a standardized address. Use the StandardizeAddress method to obtain a PropertySet containing a standardized address. Alternatively, you can construct a standardized address by creating a PropertySet whose values are defined by the names of the fields returned by the StandardizeFields property.
The PropertySet returned by this method has properties whose names are defined by the names of the fields returned by the IAddressGeocoding::MatchFields property.
matchStandardizedAddress
in interface IAdvancedGeocoding
standardizedAddress
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPropertySet.getCount()
,
com.esri.arcgis.system.propertySet
,
com.esri.arcgis.locationui.ILocatorExtension
,
com.esri.arcgis.locationui.FindAddresses
,
IAdvancedGeocoding.matchStandardizedAddress(com.esri.arcgis.system.IPropertySet)
,
com.esri.arcgis.locationui.AddressFindData
,
IPropertySet.removeProperty(String)
,
com.esri.arcgis.locationui.LocatorExtension
,
com.esri.arcgis.locationui.IAddressFindData
,
IPropertySet.isEqual(com.esri.arcgis.system.IPropertySet)
public IArray findStandardizedAddressCandidates(IPropertySet standardizedAddress) throws IOException, AutomationException
All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.
Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.
The standardizedAddress parameter is a PropertySet containing a standardized address. Use the StandardizeAddress method to obtain a PropertySet containing a standardized address. Alternatively, you can construct a standardized address by creating a PropertySet whose values are defined by the names of the fields returned by the StandardizeFields property.
The Array returned by this method contains PropertySets, each of which contains a candidate for the standardized address. The properties in these PropertySets names are defined by the names of the fields returned by the IAddressGeocoding::MatchFields property.
findStandardizedAddressCandidates
in interface IAdvancedGeocoding
standardizedAddress
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet standardizeAddress(IPropertySet address, boolean[] isAnIntersection) throws IOException, AutomationException
All of the locators provided with ArcGIS, prior to 9.4, standardize addresses before matching them to the reference data. 9.4 locators do not use standardization for matching and therefore do not support IAdvancedGeocoding.
Sometimes, locators are not able to standardize addresses properly and thus cannot match them. If you find addresses that a locator cannot match, examining how they are standardized may help you determine why they cannot be matched. You may even be able to modify the standardization so that the addresses are standardized properly and thus improve the likelihood that the locator can match them.
The StandardizeAddress method returns a PropertySet containing the address contained in the address parameter standardized by the geocoding engine. Use the IAddressInputs::AddressFields property to determine the properties that the address parameter should contain. Use the StandardizeFields property to determine the names of the properties that the returned PropertySet contains.
The isAnIntersection is an output parameter whose value is set by the StandardizeAddresses method. If the value of the variable is set to True, then the locator interpreted the address as an intersection. If the address is an intersection, then you can use the IAdvancedIntersectionGeocoding::StandardizeIntersectionFields property to inspect the properties in the PropertySet returned by this method. Otherwise, you can use the StandardizeFields property to inspect the properties.
standardizeAddress
in interface IAdvancedGeocoding
address
- A reference to a com.esri.arcgis.system.IPropertySet (in)isAnIntersection
- The isAnIntersection (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getIntersectionCandidateFields() throws IOException, AutomationException
The IntersectionCandidateFields property returns a Fields object that specifies the fields that are contained by candidates for intersection addresses. You can use these fields to inspect the candidates that the locator generates for an address.
Use the IsIntersection method to determine if an address is an intersection address.
getIntersectionCandidateFields
in interface IIntersectionGeocoding
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isIntersection(IPropertySet address) throws IOException, AutomationException
Use the IsIntersection property to determine if an address specifies an intersection. If an address does specify an intersection, use the fields returned by the IntersectionCandidateFields property to inspect the candidates that the locator returns for the address.
Use the IAddressInputs::AddressFields property to determine what properties the address parameter should contain.
isIntersection
in interface IIntersectionGeocoding
address
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getStandardizeIntersectionFields() throws IOException, AutomationException
The StandardizeIntersectionFields property returns a Fields object that you can use to inspect a standardized intersection address. To determine if an address is an intersection, use the IIntersectionGeocoding::IsIntersection method. You can then standardize the address using the IAdvancedGeocoding::StandardizeAddress method. The name of each Field in the Fields object corresponds to a property name in the PropertySet for the standardized address.
getStandardizeIntersectionFields
in interface IAdvancedIntersectionGeocoding
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet matchStandardizedIntersection(IPropertySet standardizedIntersection) throws IOException, AutomationException
Use the MatchStandardizedIntersection method to match a standardized intersection address.
The standardizedIntersection parameter is a PropertySet containing the components of the standardized intersection address. You can obtain a standardized address using the IAdvancedGeocoding::StandardizeAddress method.
This method returns a PropertySet containing the match for the address. The names of its properties are determined by the names of the fields returned by the IAddressGeocoding::MatchFields property.
matchStandardizedIntersection
in interface IAdvancedIntersectionGeocoding
standardizedIntersection
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IArray findStandardizedIntersectionCandidates(IPropertySet standardizedIntersection) throws IOException, AutomationException
The FindStandardizedIntersectionCandidates method returns a set of candidates for a standardized intersection address.
The standardizedIntersection parameter is a PropertySet that contains a standardized address. You can create a standardized address using the IAdvancedGeocoding::StandardizeAddress method.
This method returns an Array of PropertySets containing candidates for the standardized intersection address. The names of the properties are defined by the names of the fields returned by the IIntersectionGeocoding::IntersectionCandidateFields property.
findStandardizedIntersectionCandidates
in interface IAdvancedIntersectionGeocoding
standardizedIntersection
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void interfaceSupportsErrorInfo(GUID riid) throws IOException, AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo
in interface ISupportErrorInfo
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSearchDistance() throws IOException, AutomationException
getSearchDistance
in interface IReverseGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSearchDistance(double searchDistance) throws IOException, AutomationException
setSearchDistance
in interface IReverseGeocodingProperties
searchDistance
- The searchDistance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSearchDistanceUnits() throws IOException, AutomationException
getSearchDistanceUnits
in interface IReverseGeocodingProperties
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSearchDistanceUnits(int searchDistanceUnits) throws IOException, AutomationException
setSearchDistanceUnits
in interface IReverseGeocodingProperties
searchDistanceUnits
- A com.esri.arcgis.system.esriUnits constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet reverseGeocode(IPoint location, boolean bReturnIntersection) throws IOException, AutomationException
reverseGeocode
in interface IReverseGeocoding
location
- A reference to a com.esri.arcgis.geometry.IPoint (in)bReturnIntersection
- The bReturnIntersection (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getLocatorNames() throws IOException, AutomationException
The LocatorNames method returns a string that contains a list of names of the participating locators.
getLocatorNames
in interface ICompositeLocator
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ILocator getLocator(String name) throws IOException, AutomationException
getLocator
in interface ICompositeLocator
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IField getSingleLineAddressField() throws IOException, AutomationException
The SingleLineAddressField property returns a Field object that specifies the field that the locator uses to geocode addresses in a single line format. The IField::Name property is the internal field name used by the locator.
You can use the Field returned by this property to determine which field in a table contains address information using the DefaultInputFieldNames property.
getSingleLineAddressField
in interface ISingleLineAddressInput
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getDefaultInputFieldNames() throws IOException, AutomationException
The DefaultInputFieldNames property returns an Array of field names that you can use to determine which field in an address table contains the full address for single line geocoding.
getDefaultInputFieldNames
in interface ISingleLineAddressInput
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |