# ReplaceableData

class `openff.evaluator.storage.data.``ReplaceableData`

  Represents a piece of stored data which can be replaced in a StorageBackend by another piece of data of the same type.

  This may be the case for example when attempting to store a piece of StoredSimulationData, but another piece of data measured from the same calculation and for the same system already exists in the system, but stores less configurations.

  `__init__`()

    Initialize self. See help(type(self)) for accurate signature.

  Methods

  `__init__` | Initialize self.
  `from_json`(file_path) | Create this object from a JSON file.
  `get_attributes`([attribute_type]) | Returns all attributes of a specific attribute_type.
  `has_ancillary_data`() | Returns whether this data object requires an accompanying data directory-like structure.
  `json`([file_path, format]) | Creates a JSON representation of this class.
  `most_information`(stored_data_1, stored_data_2) | Returns the data object with the highest information content.
  `parse_json`(string_contents[, encoding]) | Parses a typed json string into the corresponding class structure.
  `to_storage_query`() | Returns the storage query which would match this data object.
  `validate`([attribute_type]) | Validate the values of the attributes.

  abstract classmethod `most_information`(stored_data_1, stored_data_2)

    Returns the data object with the highest information content.

    Parameters

      - stored_data_1 (ReplaceableData) – The first piece of data to compare.

      - stored_data_2 (ReplaceableData) – The second piece of data to compare.

    Returns

      The data object with the highest information content, or None if the two pieces of information are incompatible with one another.

    Return type

      ReplaceableData, optional

  classmethod `from_json`(file_path)

    Create this object from a JSON file.

    Parameters

      file_path (str) – The path to load the JSON from.

    Returns

      The parsed class.

    Return type

      cls

  classmethod `get_attributes`(attribute_type=None)

    Returns all attributes of a specific attribute_type.

    Parameters

      attribute_type (type of Attribute, optional) – The type of attribute to search for.

    Returns

      The names of the attributes of the specified type.

    Return type

      list of str

  abstract classmethod `has_ancillary_data`()

    Returns whether this data object requires an accompanying data directory-like structure.

    Returns

      True if this class requires an accompanying data directory-like structure.

    Return type

      bool

  `json`(file_path=None, format=False)

    Creates a JSON representation of this class.

    Parameters

      - file_path (str, optional) – The (optional) file path to save the JSON file to.

      - format (bool) – Whether to format the JSON or not.

    Returns

      The JSON representation of this class.

    Return type

      str

  classmethod `parse_json`(string_contents, encoding='utf8')

    Parses a typed json string into the corresponding class structure.

    Parameters

      - string_contents (str or bytes) – The typed json string.

      - encoding (str) – The encoding of the string_contents.

    Returns

      The parsed class.

    Return type

      Any

  `to_storage_query`()

    Returns the storage query which would match this data object.

    Returns

      The storage query which would match this data object.

    Return type

      BaseDataQuery

  `validate`(attribute_type=None)

    Validate the values of the attributes. If attribute_type is set, only attributes of that type will be validated.

    Parameters

      attribute_type (type of Attribute, optional) – The type of attribute to validate.

    Raises

      ValueError or AssertionError –