Class ArcGISFeatureServiceInfo

java.lang.Object
com.esri.arcgisruntime.arcgisservices.ArcGISFeatureServiceInfo

public final class ArcGISFeatureServiceInfo extends Object
The metadata for an ArcGIS feature service.

An ArcGIS feature service is a data service that provides access to spatial features stored in layers and non-spatial features stored in tables. ArcGISFeatureServiceInfo provides basic information about the feature service, including the feature layers and tables that it contains, the service description, supported spatial reference, sync capabilities, editor tracking information, and so on.

You can obtain the ArcGISFeatureServiceInfo from a loaded GeodatabaseSyncTask or from a loaded ServiceGeodatabase.

Since:
100.0.0
  • Property Details

    • canUseServiceGeodatabaseApplyEdits

      public ReadOnlyBooleanProperty canUseServiceGeodatabaseApplyEditsProperty
      True if you can use ServiceGeodatabase.applyEditsAsync() to commit changes back to the service, false otherwise.

      This value is true if the support for global IDs in all tables in the geodatabase is enabled, or support for global IDs in all tables in the geodatabase is disabled, false otherwise.

      ServiceGeodatabase.applyEditsAsync() applies edits to all affected tables as a single transaction. This is the recommended approach for applying edits. However, if the service has been setup with mixed support for global IDs, then you must apply the edits individually to each affected table using ServiceFeatureTable.applyEditsAsync()

      If ServiceGeodatabase.applyEditsAsync() is used when this property is set to false, it can fail.

      Since:
      200.3.0
      See Also:
  • Method Details

    • getLayerInfos

      public List<IdInfo> getLayerInfos()
      Gets the available metadata for layers in the feature service as an unmodifiable list of IdInfo objects. This is the metadata that can be retrieved without an additional HTTP request to obtain the layer's full metadata.

      The IdInfo provides basic layer metadata. It can be cast to a FeatureServiceLayerIdInfo for more detailed metadata.

      Returns:
      an unmodifiable list of IdInfo objects for the sublayers in the service
      Since:
      100.0.0
    • getTableInfos

      public List<IdInfo> getTableInfos()
      Gets the available metadata for stand-alone tables in the feature service as an unmodifiable list of IdInfo objects. This is the metadata that can be retrieved without an additional HTTP request to obtain the layer's full metadata. See IdInfo for more information.
      Returns:
      an unmodifiable list of IdInfo objects for the stand-alone tables in the service
      Since:
      100.0.0
    • getAttribution

      public String getAttribution()
      Gets the attribution text information of the service.
      Returns:
      the attribution text
      Since:
      100.0.0
    • canUseServiceGeodatabaseApplyEditsProperty

      public ReadOnlyBooleanProperty canUseServiceGeodatabaseApplyEditsProperty()
      True if you can use ServiceGeodatabase.applyEditsAsync() to commit changes back to the service, false otherwise.

      This value is true if the support for global IDs in all tables in the geodatabase is enabled, or support for global IDs in all tables in the geodatabase is disabled, false otherwise.

      ServiceGeodatabase.applyEditsAsync() applies edits to all affected tables as a single transaction. This is the recommended approach for applying edits. However, if the service has been setup with mixed support for global IDs, then you must apply the edits individually to each affected table using ServiceFeatureTable.applyEditsAsync()

      If ServiceGeodatabase.applyEditsAsync() is used when this property is set to false, it can fail.

      Returns:
      the canUseServiceGeodatabaseApplyEdits property
      Since:
      200.3.0
      See Also:
    • getCanUseServiceGeodatabaseApplyEdits

      public boolean getCanUseServiceGeodatabaseApplyEdits()
      Gets the value of the canUseServiceGeodatabaseApplyEdits property.
      Property description:
      True if you can use ServiceGeodatabase.applyEditsAsync() to commit changes back to the service, false otherwise.

      This value is true if the support for global IDs in all tables in the geodatabase is enabled, or support for global IDs in all tables in the geodatabase is disabled, false otherwise.

      ServiceGeodatabase.applyEditsAsync() applies edits to all affected tables as a single transaction. This is the recommended approach for applying edits. However, if the service has been setup with mixed support for global IDs, then you must apply the edits individually to each affected table using ServiceFeatureTable.applyEditsAsync()

      If ServiceGeodatabase.applyEditsAsync() is used when this property is set to false, it can fail.

      Returns:
      the value of the canUseServiceGeodatabaseApplyEdits property
      Since:
      200.3.0
      See Also:
    • getDescription

      public String getDescription()
      Gets the description of the service.
      Returns:
      the description
      Since:
      100.0.0
    • getDocumentInfo

      public ServiceDocumentInfo getDocumentInfo()
      Gets the information about the backing map document used to create the service.
      Returns:
      the document info
      Since:
      100.0.0
    • getEditorTrackingInfo

      public EditorTrackingInfo getEditorTrackingInfo()
      Gets the feature service's editor tracking settings.

      This information is present if editor tracking is enabled on this service. For more information, see Editor tracking for feature services.

      Returns:
      the editor tracking info, or null if not defined on the service
      Since:
      100.0.0
    • getFullExtent

      public Envelope getFullExtent()
      Gets the full extent of geographic data available in the service.
      Returns:
      the full extent
      Since:
      100.0.0
    • getInitialExtent

      public Envelope getInitialExtent()
      Gets the default extent of geographic data available in the service.
      Returns:
      the initial extent
      Since:
      100.0.0
    • getMaxRecordCount

      public long getMaxRecordCount()
      Gets the maximum number of features that will be returned by the service for any query operation. Applications should handle re-querying the omitted results when this limit is reached.
      Returns:
      the max record count
      Since:
      100.0.0
    • isOnlyAllowTrueCurveUpdatesByTrueCurveClients

      public boolean isOnlyAllowTrueCurveUpdatesByTrueCurveClients()
      True if the service only allows curve geometries to be updated by client code that identifies itself as a true curve enabled client, indicating that client editing workflows account for curve segments correctly.

      This property can only be true if isAllowTrueCurvesUpdates() is true.

      By default, this API client is not a true curve enabled client. Use ArcGISRuntimeEnvironment.setServiceCurveGeometryMode(ServiceCurveGeometryMode) to change this behavior.

      Returns:
      true if the service only allows curve geometries to be updated by client code that identifies itself as a true curve enabled client, indicating that client editing workflows account for curve segments correctly.
      Since:
      100.12.0
      See Also:
    • getFeatureServiceCapabilities

      public FeatureServiceCapabilities getFeatureServiceCapabilities()
      Gets the editing operations that are allowed by the service: Query, Create, Delete, Update, Uploads, Editing.
      Returns:
      the service's capabilities
      Since:
      100.0.0
    • getServiceDescription

      public String getServiceDescription()
      Returns the user-friendly description of the service.
      Returns:
      the service description
      Since:
      100.0.0
    • getSpatialReference

      public SpatialReference getSpatialReference()
      Gets the Spatial reference of geographic data available in the service.
      Returns:
      the spatial reference
      Since:
      100.0.0
    • getSyncCapabilities

      public SyncCapabilities getSyncCapabilities()
      Gets the information about sync related capabilities of the service. This will be null if the service does not support sync.
      Returns:
      the sync capabilities
      Since:
      100.0.0
    • getUnit

      public Unit getUnit()
      Gets the unit of measurement for geographic data available in the service.
      Returns:
      the available unit
      Since:
      100.0.0
    • getVersion

      public String getVersion()
      Specifies the version of this particular service.
      Returns:
      the version of the service
      Since:
      100.0.0
    • getZDefault

      public double getZDefault()
      Gets the default z value. Only applicable if isZDefaultsEnabled() is true. Returns NaN if isZDefaultsEnabled() is false.
      Returns:
      the z default value
      Since:
      100.0.0
    • isZDefaultsEnabled

      public boolean isZDefaultsEnabled()
      Indicates whether service supports default z values for geometries.
      Returns:
      true if the z defaults is enabled, false otherwise
      Since:
      100.0.0
    • isAllowGeometryUpdates

      public boolean isAllowGeometryUpdates()
      Indicates whether geometry of existing features can be updated.
      Returns:
      true if the geometry updates are allowed, false otherwise
      Since:
      100.0.0
    • isAllowTrueCurvesUpdates

      public boolean isAllowTrueCurvesUpdates()
      True if the service allows curve geometries to be updated.

      This property can only be true if isSupportsTrueCurve() is true.

      If this property is true and isOnlyAllowTrueCurveUpdatesByTrueCurveClients() is false, features with curve geometries can be updated by any client. This includes cases where the client provides a densified geometry to update the curve geometry.

      By default, this API client is not a true curve enabled client. Use ArcGISRuntimeEnvironment.setServiceCurveGeometryMode(ServiceCurveGeometryMode) to change this behavior.

      Returns:
      true if the service allows curve geometries to be updated
      Since:
      100.12.0
      See Also:
    • hasStaticData

      public boolean hasStaticData()
      Indicates whether the service has static data.
      Returns:
      true if the service has static data, false otherwise
      Since:
      100.0.0
    • hasVersionedData

      public boolean hasVersionedData()
      Indicates if the service uses a database which uses versioned data.
      Returns:
      true if the service has versioned data, false otherwise
      Since:
      100.0.0
    • isSupportsDisconnectedEditing

      public boolean isSupportsDisconnectedEditing()
      Indicates whether disconnected editing is supported.
      Returns:
      true if disconnected editing is supported, false otherwise
      Since:
      100.0.0
    • isSupportsTrueCurve

      public boolean isSupportsTrueCurve()
      True if the service supports curve segments in feature geometries.

      Some services support storing feature geometries with curve segments. By default, these services return densified versions of the feature geometries instead. Use ArcGISRuntimeEnvironment.setServiceCurveGeometryMode(ServiceCurveGeometryMode) to change this behavior.

      Returns:
      true if the service supports curve segments in feature geometries
      Since:
      100.12.0
      See Also:
    • isSyncEnabled

      public boolean isSyncEnabled()
      Indicates if sync is enabled and this service can be used to allow data to be viewed and edited offline. If true the GeodatabaseSyncTask can be used.
      Returns:
      true if the sync enabled, false otherwise
      Since:
      100.0.0
    • getUrl

      public String getUrl()
      Gets the feature service URL.
      Returns:
      the feature service URL
      Since:
      100.0.0