Options
All
  • Public
  • Public/Protected
  • All
Menu

Super class for all representations of OData entity types.

Hierarchy

Index

Constructors

constructor

Properties

Protected _customFields

_customFields: Record<string, any>

A mapper representing custom fields in an entity. Custom fields are represented by their field names and the corresponding values. A custom field can be added or updated using setCustomField method.

Readonly Abstract _oDataVersion

_oDataVersion: any

Protected _versionIdentifier

_versionIdentifier: string

The current ETag version of the entity in the remote system. The ETag identified the version of the in the remote system. It will be automatically set in the "if-match" header of update requests and can be set as a custom header for delete requests. When no ETag is provided by the remote system the value of this variable defaults to "*".

Protected remoteState

remoteState: {}

The remote state of the entity. Remote state refers to the last known state of the entity on the remote system from which it has been retrieved or to which it has been posted. It is stored as map, where the keys are stored in the format of the original OData properties.

Type declaration

  • [keys: string]: any

Static _defaultServicePath

_defaultServicePath: string

Static _entityName

_entityName: string

Static _serviceName

_serviceName: string

Accessors

versionIdentifier

  • get versionIdentifier(): string

Methods

Protected getCurrentMapKeys

  • getCurrentMapKeys(visitedEntities?: EntityBase[]): this
  • Returns a map of all defined fields in entity to their current values.

    Parameters

    • Default value visitedEntities: EntityBase[] = []

      List of entities to check in case of circular dependencies.

    Returns this

    Entity with all defined entity fields

Protected getCurrentStateForKey

  • getCurrentStateForKey(key: string, visitedEntities?: EntityBase[]): any

getCustomField

  • getCustomField(fieldName: string): any

getCustomFields

  • getCustomFields(): Record<string, any>

getUpdatedCustomFields

  • getUpdatedCustomFields(): Record<string, any>
  • Returns all updated custom field properties compared to the last known remote state.

    Returns Record<string, any>

    A map containing all updated custom properties, with their new values

getUpdatedProperties

  • getUpdatedProperties(): this

hasCustomField

  • hasCustomField(fieldName: string): boolean
  • Validates whether a custom field exists in the entity.

    Parameters

    • fieldName: string

      The name of the custom field to update

    Returns boolean

    A boolean value, that indicates whether a custom field is defined in entity

initializeCustomFields

  • initializeCustomFields(customFields: Record<string, any>): this
  • Sets all retrieved custom fields in entity.

    Parameters

    • customFields: Record<string, any>

      Extracted custom fields from a retrieved entity

    Returns this

    A boolean value, that indicates the existence of the field in entity

Protected isConflictingCustomField

  • isConflictingCustomField(customFieldName: string): boolean
  • Validates whether a field name does not conflict with an original field name and thus can be defined as custom fields.

    Parameters

    • customFieldName: string

      Field name to check

    Returns boolean

    Boolean value that describes whether a field name can be defined as custom field

Protected isVisitedEntity

  • isVisitedEntity<EntityT>(entity: EntityT, visitedEntities?: EntityBase[]): boolean

setCustomField

  • setCustomField(fieldName: string, value: any): this
  • Sets a new custom field in the entity or updates it. Throws an error, if the provided custom field name is already defined by an original field in entity.

    Parameters

    • fieldName: string

      The name of the custom field to update

    • value: any

      The value of the field

    Returns this

    The entity itself, to facilitate method chaining

setOrInitializeRemoteState

  • setOrInitializeRemoteState(state?: Record<string, any>): this
  • Initializes or sets the remoteState of the entity. This function is called on all read, create and update requests. This function should be called after initializeCustomFields, if custom fields are defined.

    deprecated

    Since 1.12.0. Will be hidden in version 2.0.

    Parameters

    • Optional state: Record<string, any>

      State to be set as remote state

    Returns this

    The entity itself, to facilitate method chaining

setVersionIdentifier

  • setVersionIdentifier(etag: string | undefined): this
  • Set the ETag version identifier of the retrieved entity.

    Parameters

    • etag: string | undefined

      The returned ETag version of the entity

    Returns this

    The entity itself, to facilitate method chaining

Static Protected entityBuilder

  • entityBuilder<EntityT, EntityTypeT>(entityConstructor: Constructable<EntityT, EntityTypeT>): EntityBuilderType<EntityT, EntityTypeT>