Interface WeavedAttributeValueHolderInterface

  • All Superinterfaces:
    java.lang.Cloneable, ValueHolderInterface
    All Known Implementing Classes:
    ValueHolder

    public interface WeavedAttributeValueHolderInterface
    extends ValueHolderInterface
    INTERNAL: This interface defines functionality required by ValueHolders for OneToOneMappings that have LAZY access weaved into them and use Property (method) based access The weaving feature adds a paralell valueholder to the class it weaves and uses that valueholder to control the lazy loading. The methods on this interface provide information about how that weaved valueholder is related to the underlying value.
    Author:
    tware
    • Method Detail

      • isCoordinatedWithProperty

        boolean isCoordinatedWithProperty()
        When a valueholder is triggered, the weaved code will ensure its value is coordinated with the underlying property. This method allows TopLink to determine if that has happened.
        Returns:
      • setIsCoordinatedWithProperty

        void setIsCoordinatedWithProperty​(boolean coordinated)
        TopLink will call this method when the triggering of a weaved valueholder causes it's value to be coordinated with the underlying property
      • isNewlyWeavedValueHolder

        boolean isNewlyWeavedValueHolder()
        This method returns whether this valueholder has been newly instantiated by weaved code.
        Returns:
      • setIsNewlyWeavedValueHolder

        void setIsNewlyWeavedValueHolder​(boolean isNew)
        TopLink weaving calls this method on any valueholder it weaves into a class to indicate that it is new and it's value should not be considered. The method is also called when coordination with the underlying value occurs to indicate the value can now be trusted.
        Parameters:
        isNew -
      • shouldAllowInstantiationDeferral

        boolean shouldAllowInstantiationDeferral()
        INTERNAL: Return if add/remove should trigger instantiation or avoid. Current instantiation is avoided is using change tracking.