Class PendingReferenceRegistry

java.lang.Object
cz.cvut.kbss.jsonld.deserialization.reference.PendingReferenceRegistry

public class PendingReferenceRegistry extends Object
Registry of pending references.
  • Constructor Details

    • PendingReferenceRegistry

      public PendingReferenceRegistry()
  • Method Details

    • addPendingReference

      public void addPendingReference(String identifier, Object targetObject, Field targetField)
      Registers a pending reference with the specified identifier.
      Parameters:
      identifier - Reference identifier
      targetObject - Object which contains the referring attribute
      targetField - Field representing the target attribute
    • addPendingReference

      public void addPendingReference(String identifier, Collection targetObject)
      Registers a pending reference with the specified identifier.
      Parameters:
      identifier - Reference identifier
      targetObject - Collection referencing the object
    • resolveReferences

      public void resolveReferences(String identifier, Object referencedObject)
      Resolves the pending references by replacing them with the specified full object.

      This method goes through the pending references and sets the specified referencedObject on the corresponding target objects.

      Parameters:
      identifier - Identifier of the referenced object
      referencedObject - The referenced object
      Throws:
      TargetTypeException - If the referencedObject cannot be assigned to a target field due to type mismatch
    • verifyNoUnresolvedReferencesExist

      public void verifyNoUnresolvedReferencesExist()
      Checks whether any pending unresolved references are left.
      Throws:
      UnresolvedReferenceException - Thrown when pending references exist