Class FixedInstance<T>

java.lang.Object
org.a2aproject.sdk.server.FixedInstance<T>
Type Parameters:
T - the bean type
All Implemented Interfaces:
jakarta.enterprise.inject.Instance<T>, jakarta.inject.Provider<T>, Iterable<T>

public class FixedInstance<T> extends Object implements jakarta.enterprise.inject.Instance<T>
A static Instance wrapper holding a pre-resolved (or absent) value, for use in non-CDI contexts such as convenience constructors and tests. A null value represents an unsatisfied instance.

Usage example (wrapping a concrete value):


 Instance<AgentCard> instance = new FixedInstance<>(myAgentCard);
 

Usage example (empty / unsatisfied):


 Instance<AgentCard> empty = FixedInstance.empty();
 
  • Constructor Details

    • FixedInstance

      public FixedInstance(@Nullable T value)
  • Method Details

    • empty

      public static <T> FixedInstance<T> empty()
      Returns a FixedInstance with no value (unsatisfied).
      Type Parameters:
      T - the bean type
      Returns:
      an empty instance
    • get

      public T get()
      Specified by:
      get in interface jakarta.inject.Provider<T>
    • isUnsatisfied

      public boolean isUnsatisfied()
      Specified by:
      isUnsatisfied in interface jakarta.enterprise.inject.Instance<T>
    • isAmbiguous

      public boolean isAmbiguous()
      Specified by:
      isAmbiguous in interface jakarta.enterprise.inject.Instance<T>
    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Iterable<T>
    • destroy

      public void destroy(T instance)
      Specified by:
      destroy in interface jakarta.enterprise.inject.Instance<T>
    • select

      public jakarta.enterprise.inject.Instance<T> select(Annotation... qualifiers)
      Specified by:
      select in interface jakarta.enterprise.inject.Instance<T>
    • select

      public <U extends T> jakarta.enterprise.inject.Instance<U> select(Class<U> subtype, Annotation... qualifiers)
      Specified by:
      select in interface jakarta.enterprise.inject.Instance<T>
    • select

      public <U extends T> jakarta.enterprise.inject.Instance<U> select(jakarta.enterprise.util.TypeLiteral<U> subtype, Annotation... qualifiers)
      Specified by:
      select in interface jakarta.enterprise.inject.Instance<T>
    • getHandle

      public jakarta.enterprise.inject.Instance.Handle<T> getHandle()
      Specified by:
      getHandle in interface jakarta.enterprise.inject.Instance<T>
    • handles

      public Iterable<? extends jakarta.enterprise.inject.Instance.Handle<T>> handles()
      Specified by:
      handles in interface jakarta.enterprise.inject.Instance<T>