Interface SyntheticObserverBuilder<T>

    • Method Detail

      • declaringClass

        SyntheticObserverBuilder<T> declaringClass​(Class<?> declaringClass)
        Sets the bean class that "declares" this synthetic observer.

        If not called, the class declaring the extension which creates this synthetic observer is used.

        Parameters:
        declaringClass - bean class that "declares" this synthetic observer, must not be null
        Returns:
        this SyntheticObserverBuilder
        Throws:
        IllegalStateException - if this method is called multiple times
      • declaringClass

        SyntheticObserverBuilder<T> declaringClass​(ClassInfo declaringClass)
        Sets the bean class that "declares" this synthetic observer.

        If not called, the class declaring the extension which creates this synthetic observer is used.

        Parameters:
        declaringClass - bean class that "declares" this synthetic observer, must not be null
        Returns:
        this SyntheticObserverBuilder
        Throws:
        IllegalStateException - if this method is called multiple times
      • qualifier

        SyntheticObserverBuilder<T> qualifier​(Class<? extends Annotation> annotationType)
        Adds a marker annotation of given type to the set of qualifiers of this synthetic observer. This method may be called multiple times to add multiple qualifiers.

        If not called, this synthetic observer will have no qualifier.

        Parameters:
        annotationType - the type of the marker annotation, must not be null
        Returns:
        this SyntheticObserverBuilder
      • qualifier

        SyntheticObserverBuilder<T> qualifier​(AnnotationInfo qualifierAnnotation)
        Adds given annotation to the set of qualifiers of this synthetic observer. This method may be called multiple times to add multiple qualifiers.

        If not called, this synthetic observer will have no qualifier.

        Parameters:
        qualifierAnnotation - the annotation, must not be null
        Returns:
        this SyntheticObserverBuilder
      • qualifier

        SyntheticObserverBuilder<T> qualifier​(Annotation qualifierAnnotation)
        Adds given annotation to the set of qualifiers of this synthetic observer. This method may be called multiple times to add multiple qualifiers.

        If not called, this synthetic observer will have no qualifier.

        Parameters:
        qualifierAnnotation - the annotation, must not be null
        Returns:
        this SyntheticObserverBuilder
      • priority

        SyntheticObserverBuilder<T> priority​(int priority)
        Sets a priority of this synthetic observer.

        If not called, this synthetic observer will have a default priority of Priority.APPLICATION + 500.

        Parameters:
        priority - the priority of this synthetic observer
        Returns:
        this SyntheticObserverBuilder
        Throws:
        IllegalStateException - if this method is called multiple times
      • async

        SyntheticObserverBuilder<T> async​(boolean isAsync)
        Marks this synthetic observer as asynchronous if desired.

        If not called, this synthetic observer will not be asynchronous.

        Parameters:
        isAsync - whether this synthetic observer should be asynchronous
        Returns:
        this SyntheticObserverBuilder
        Throws:
        IllegalStateException - if this method is called multiple times
      • transactionPhase

        SyntheticObserverBuilder<T> transactionPhase​(TransactionPhase transactionPhase)
        Sets the TransactionPhase during which this synthetic observer should be notified. If anything else than TransactionPhase.IN_PROGRESS is passed, this synthetic observer will be a transactional observer.

        If not called, this synthetic observer will not be a transactional observer. In other words, the default is TransactionPhase.IN_PROGRESS.

        Note that transactional observers cannot be asynchronous. If this synthetic observer is configured to be both transactional and asynchronous, its registration will fail.

        Parameters:
        transactionPhase - the TransactionPhase, must not be null
        Returns:
        this SyntheticObserverBuilder
        Throws:
        IllegalStateException - if this method is called multiple times
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              boolean value)
        Adds a boolean-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              boolean[] value)
        Adds a boolean array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              int value)
        Adds an int-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              int[] value)
        Adds an int array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              long value)
        Adds a long-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              long[] value)
        Adds a long array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              double value)
        Adds a double-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              double[] value)
        Adds a double array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              String value)
        Adds a String-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              String[] value)
        Adds a String array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              Enum<?> value)
        Adds an enum-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              Enum<?>[] value)
        Adds an enum array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              Class<?> value)
        Adds a Class-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              ClassInfo value)
        Adds a Class-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.

        When looked up from the parameter map in the event notification function, the value will be an instance of Class, not a ClassInfo.

        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              Class<?>[] value)
        Adds a Class array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              ClassInfo[] value)
        Adds a Class array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.

        When looked up from the parameter map in the event notification function, the values will be instances of Class, not ClassInfo.

        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              AnnotationInfo value)
        Adds an annotation-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.

        When looked up from the parameter map in the event notification function, the value will be an instance of the annotation type, not an AnnotationInfo.

        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              Annotation value)
        Adds an annotation-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              AnnotationInfo[] value)
        Adds an annotation array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.

        When looked up from the parameter map in the event notification function, the values will be instances of the corresponding annotation types, not AnnotationInfo.

        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • withParam

        SyntheticObserverBuilder<T> withParam​(String key,
                                              Annotation[] value)
        Adds an annotation array-valued parameter to the parameter map. The parameter map is passed to the event notification function when the event is fired.
        Parameters:
        key - the parameter key, must not be null
        value - the parameter value
        Returns:
        this SyntheticObserverBuilder
      • observeWith

        SyntheticObserverBuilder<T> observeWith​(Class<? extends SyntheticObserver<T>> observerClass)
        Sets the class of the synthetic observer event notification function. CDI container will create an instance of the event notification function every time when it needs to notify the synthetic observer. The class must be public and have a public zero-parameter constructor; it must not be a bean.

        If not called, the synthetic observer registration will fail.

        Parameters:
        observerClass - the event notification function class, must not be null
        Returns:
        this SyntheticObserverBuilder
        Throws:
        IllegalStateException - if this method is called multiple times