Class ModelValueHistory

  • All Implemented Interfaces:
    java.io.Serializable

    public class ModelValueHistory
    extends java.lang.Object
    implements java.io.Serializable
    Keeps track of original (loaded) values of a item model. It also stores which fields have been set explicitly even if the value had been null.
    See Also:
    Serialized Form
    • Constructor Detail

      • ModelValueHistory

        public ModelValueHistory()
      • ModelValueHistory

        public ModelValueHistory​(AttributeProvider attributeProvider)
    • Method Detail

      • setAttributeLoadingError

        public void setAttributeLoadingError​(java.lang.String qualifier,
                                             ModelLoadingException e)
      • resetAttributeLoadingError

        public void resetAttributeLoadingError​(java.lang.String qualifier)
      • setLocAttributeLoadingError

        public void setLocAttributeLoadingError​(java.lang.String qualifier,
                                                java.util.Locale loc,
                                                ModelLoadingException e)
      • resetLocAttributeLoadingError

        public void resetLocAttributeLoadingError​(java.lang.String qualifier,
                                                  java.util.Locale loc)
      • getOriginalValue

        public java.lang.Object getOriginalValue​(java.lang.String qualifier)
        Returns original unlocalized value for specified attribute qualifier. This operation can throw an IllegalStateException if original value is not loaded yet . Usually should be guarded isValueLoaded(String).
        Parameters:
        qualifier - the attribute qualifier
        Throws:
        java.lang.IllegalStateException - if no value has been loaded for this attribute
      • getOriginalValue

        public java.lang.Object getOriginalValue​(java.lang.String qualifier,
                                                 java.util.Locale locale)
        Returns original localized value for specified attribute qualifier and language qualifier (iso code). This operation can throw an IllegalStateException if original value is not loaded yet . Usually should be guarded isValueLoaded(String, java.util.Locale).
        Parameters:
        qualifier - the attribute qualifier
        locale - the locale
        Throws:
        java.lang.IllegalStateException - if no value has been loaded for this attribute
      • loadOriginalValue

        public void loadOriginalValue​(java.lang.String qualifier,
                                      java.lang.Object value)
        Loads unlocalized original value.
        Parameters:
        qualifier - the attribute qualifier
        value - the original value
      • loadOriginalValue

        public void loadOriginalValue​(java.lang.String qualifier,
                                      java.lang.Object value,
                                      boolean resetDirtyFlag)
      • clearOriginalValue

        public void clearOriginalValue​(java.lang.String qualifier)
        Clears originally loaded value for a given attribute. The attribute appears to be not loaded afterwards.
      • markUnchanged

        public void markUnchanged​(java.lang.String qualifier)
        Signals that a 'dirty' attribute finally has been tested and found unchanged. So this is a shortcut to loadOriginalValue(String, Object)!
      • loadOriginalValue

        public void loadOriginalValue​(java.lang.String qualifier,
                                      java.util.Locale locale,
                                      java.lang.Object value)
        Loads localized original value.
        Parameters:
        qualifier - the attribute qualifier
        locale - the locale
        value - the original value
      • loadOriginalValue

        public void loadOriginalValue​(java.lang.String qualifier,
                                      java.util.Locale locale,
                                      java.lang.Object value,
                                      boolean resetDirtyFlag)
      • clearOriginalValue

        public void clearOriginalValue​(java.lang.String qualifier,
                                       java.util.Locale locale)
        Clears localized original value.
        Parameters:
        qualifier - the attribute qualifier
        locale - the locale
      • markUnchanged

        public void markUnchanged​(java.lang.String qualifier,
                                  java.util.Locale locale)
        Signals that a 'dirty' attribute finally has been tested and found unchanged. So this is a shortcut to loadOriginalValue(String, Object)!
      • isValueLoaded

        public boolean isValueLoaded​(java.lang.String qualifier)
        Tells if this history contains a unlocalized original value for the specified attribute.
        Parameters:
        qualifier - the attribute qualifier.
      • isValueLoaded

        public boolean isValueLoaded​(java.lang.String qualifier,
                                     java.util.Locale locale)
        Tells if this history contains a localized original value for the specified attribute.
        Parameters:
        qualifier - the attribute qualifier.
        locale - the locale
      • markDirty

        public void markDirty​(java.lang.String qualifier)
        Marks unlocalized attribute as 'dirty' which means that it has been set by model user.
        Parameters:
        qualifier - the attribute qualifier
      • markDirty

        public void markDirty​(java.lang.String qualifier,
                              java.util.Locale locale)
        Marks localized attribute as 'dirty' which means that it has been set by model user.
        Parameters:
        qualifier - the attribute qualifier
        locale - the language qualifier
      • mergeDirty

        public void mergeDirty​(java.util.Map<java.util.Locale,​java.util.Set<java.util.Locale>> data2nonDataLocales)
      • isDirty

        public boolean isDirty​(java.lang.String qualifier)
        Tells if a unlocalized attribute has been marked as dirty.
        Parameters:
        qualifier - the attribute qualifier
      • isDirty

        public boolean isDirty()
      • isDirty

        public boolean isDirty​(java.lang.String qualifier,
                               java.util.Locale locale)
        Tells if a localized attribute has been marked as dirty. If the given Locale is null this method checks in all Locales for modifications for the given attribute (qualifier).
        Parameters:
        qualifier - the attribute qualifier
        locale - the locale
      • getDirtyAttributes

        public java.util.Set<java.lang.String> getDirtyAttributes()
        Returns all dirty unlocalized attributes.
      • getDirtyLocalizedAttributes

        public java.util.Map<java.util.Locale,​java.util.Set<java.lang.String>> getDirtyLocalizedAttributes()
        Returns all localized dirty attributes.
        Returns:
        a map <attribute qualifier>->( <language qualifier> )
      • getAllDirtyAttributes

        public java.util.Map<java.lang.String,​java.util.Set<java.util.Locale>> getAllDirtyAttributes()
      • getLoadedAttributes

        public java.util.Set<java.lang.String> getLoadedAttributes()
      • getLoadedLocAttributes

        public java.util.Set<Key<java.util.Locale,​java.lang.String>> getLoadedLocAttributes()
      • getPersistenceVersion

        public long getPersistenceVersion()
        Returns:
        the persistenceVersion
      • setPersistenceVersion

        public void setPersistenceVersion​(long persistenceVersion)
        Parameters:
        persistenceVersion - the persistenceVersion to set
      • setAttributeProvider

        public void setAttributeProvider​(AttributeProvider attributeProvider)