Class DefaultBeanState

    • Method Detail

      • setPropertyLoaded

        public void setPropertyLoaded​(String propertyName,
                                      boolean loaded)
        Description copied from interface: BeanState
        Set the loaded state of the property given it's name.

        Typically this would be used to set the loaded state of a property to false to ensure that the specific property is excluded from a stateless update.

        
        
           // populate a bean via say JSON
           User user = ...;
        
           // set loaded state on the email property to false so that
           // the email property is not included in a stateless update
           DB.getBeanState(user).setPropertyLoaded("email", false);
        
           user.update();
        
         

        This will throw an IllegalArgumentException if the property is unknown.

        Specified by:
        setPropertyLoaded in interface BeanState
      • isReference

        public boolean isReference()
        Description copied from interface: BeanState
        Return true if this is a lazy loading reference bean.

        If so the this bean only holds the Id property and will invoke lazy loading if any other property is get or set.

        Specified by:
        isReference in interface BeanState
      • isNew

        public boolean isNew()
        Description copied from interface: BeanState
        Return true if the bean is new (and not yet saved).
        Specified by:
        isNew in interface BeanState
      • isNewOrDirty

        public boolean isNewOrDirty()
        Description copied from interface: BeanState
        Return true if the bean is new or dirty (and probably needs to be saved).
        Specified by:
        isNewOrDirty in interface BeanState
      • isDirty

        public boolean isDirty()
        Description copied from interface: BeanState
        Return true if the bean has been changed but not yet saved.
        Specified by:
        isDirty in interface BeanState
      • getLoadedProps

        public Set<StringgetLoadedProps()
        Description copied from interface: BeanState
        For partially populated beans returns the properties that are loaded on the bean.

        Accessing another property will cause lazy loading to occur.

        Specified by:
        getLoadedProps in interface BeanState
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: BeanState
        Return true if the bean is readOnly.

        If a setter is called on a readOnly bean it will throw an exception.

        Specified by:
        isReadOnly in interface BeanState
      • setLoaded

        public void setLoaded()
        Description copied from interface: BeanState
        Advanced - Used to programmatically build a partially or fully loaded entity bean. First create an entity bean via Database.createEntityBean(Class), then populate its properties and then call this method specifying which properties where loaded or null for a fully loaded entity bean.
        Specified by:
        setLoaded in interface BeanState