Interface AutoBean<T>

  • Type Parameters:
    T - the type of interface that will be wrapped.

    public interface AutoBean<T>
    A controller for an implementation of a bean interface. Instances of AutoBeans are obtained from an AutoBeanFactory.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  AutoBean.PropertyName
      An annotation that allows inferred property names to be overridden.
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void accept​(AutoBeanVisitor visitor)
      Accept an AutoBeanVisitor.
      T as()
      Returns a proxy implementation of the T interface which will delegate to the underlying wrapped object, if any.
      AutoBean<T> clone​(boolean deep)
      Deprecated.
      with no replacement
      AutoBeanFactory getFactory()
      Returns the AutoBeanFactory that created the AutoBean.
      <Q> Q getTag​(java.lang.String tagName)
      Retrieve a tag value that was previously provided to setTag(String, Object).
      java.lang.Class<T> getType()
      Returns the wrapped interface type.
      boolean isFrozen()
      Returns the value most recently passed to setFrozen(boolean), or false if it has never been called.
      boolean isWrapper()
      Returns true if the AutoBean was provided with an external object.
      void setFrozen​(boolean frozen)
      Disallows any method calls other than getters.
      void setTag​(java.lang.String tagName, java.lang.Object value)
      A tag is an arbitrary piece of external metadata to be associated with the wrapped value.
      T unwrap()
      If the AutoBean wraps an object, return the underlying object.
    • Method Detail

      • as

        T as()
        Returns a proxy implementation of the T interface which will delegate to the underlying wrapped object, if any.
        Returns:
        a proxy that delegates to the wrapped object
      • clone

        @Deprecated
        AutoBean<T> clone​(boolean deep)
        Deprecated.
        with no replacement
        This method always throws an UnsupportedOperationException. The implementation of this method in previous releases was not sufficiently robust and there are no further uses of this method within the GWT code base. Furthermore, there are many different semantics that can be applied to a cloning process that cannot be adequately addressed with a single implementation.

        A simple clone of an acyclic datastructure can be created by using AutoBeanCodex to encode and decode the root object. Other cloning algorithms are best implemented by using an AutoBeanVisitor.

        Throws:
        java.lang.UnsupportedOperationException
      • getFactory

        AutoBeanFactory getFactory()
        Returns the AutoBeanFactory that created the AutoBean.
        Returns:
        an AutoBeanFactory
      • getTag

        <Q> Q getTag​(java.lang.String tagName)
        Retrieve a tag value that was previously provided to setTag(String, Object).
        Parameters:
        tagName - the tag name
        Returns:
        the tag value
        See Also:
        setTag(String, Object)
      • getType

        java.lang.Class<T> getType()
        Returns the wrapped interface type.
      • isFrozen

        boolean isFrozen()
        Returns the value most recently passed to setFrozen(boolean), or false if it has never been called.
        Returns:
        true if this instance is frozen
      • isWrapper

        boolean isWrapper()
        Returns true if the AutoBean was provided with an external object.
        Returns:
        true if this instance is a wrapper
      • setFrozen

        void setFrozen​(boolean frozen)
        Disallows any method calls other than getters. All setter and call operations will throw an IllegalStateException.
        Parameters:
        frozen - if true, freeze this instance
      • setTag

        void setTag​(java.lang.String tagName,
                    java.lang.Object value)
        A tag is an arbitrary piece of external metadata to be associated with the wrapped value.
        Parameters:
        tagName - the tag name
        value - the wrapped value
        See Also:
        getTag(String)
      • unwrap

        T unwrap()
        If the AutoBean wraps an object, return the underlying object. The AutoBean will no longer function once unwrapped.
        Returns:
        the previously-wrapped object
        Throws:
        java.lang.IllegalStateException - if the AutoBean is not a wrapper