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

com.geotab.model.entity.entitysettings.EntitySetting Maven / Gradle / Ivy

package com.geotab.model.entity.entitysettings;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.geotab.model.Id;
import com.geotab.model.entity.Entity;
import com.geotab.model.entity.addins.AddInData;
import com.geotab.model.serialization.serdes.IdAsStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

/**
 * false
 * Represents a entity-linked setting in JSON format. Every setting has an specific key.
 */
@Getter @Setter
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class EntitySetting extends Entity {
  /**
   * Gets or sets the key for this setting.
   */
  private String key;

  /**
   * Gets or sets the {@link EntityType} of this setting.
   */
  private EntityType entityType;

  /**
   * Gets or sets the entity identifier of this setting.
   */
  @JsonSerialize(using = IdAsStringSerializer.class)
  private Id entityId;

  /**
   * Gets or sets the setting value of this setting as a JSON string.
   */
  private String settingValue;

  /**
   * Gets or sets the {@link AddInData} for this setting.
   */
  private AddInData data;

  @Override
  public String toString() {
    return "Id: {" + this.getId() + "}, Key: {" + this.key + "}, EntityType: {" + entityType.toString() + "}, EntityId: {" + entityId + "}";
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy