Interface EffectiveStatement<A,​D extends DeclaredStatement<A>>

    • Method Detail

      • getDeclared

        @Nullable D getDeclared()
        Returns statement, which was explicit declaration of this effective statement.
        Returns:
        statement, which was explicit declaration of this effective statement or null if statement was inferred from context.
      • get

        <K,​V,​N extends IdentifierNamespace<K,​V>> Optional<? extends V> get​(@NonNull Class<N> namespace,
                                                                                             @NonNull K identifier)
        Returns value associated with supplied identifier.
        Type Parameters:
        K - Identifier type
        V - Value type
        N - Namespace identifier type
        Parameters:
        namespace - Namespace type
        identifier - Identifier of element.
        Returns:
        Value if present
      • getAll

        <K,​V,​N extends IdentifierNamespace<K,​V>> @NonNull Map<K,​V> getAll​(@NonNull Class<N> namespace)
        Returns all local values from supplied namespace.
        Type Parameters:
        K - Identifier type
        V - Value type
        N - Namespace identifier type
        Parameters:
        namespace - Namespace type
        Returns:
        Key-value mappings, empty if the namespace does not exist.
        Throws:
        NullPointerException - if namespace is null
      • effectiveSubstatements

        @NonNull Collection<? extends @NonNull EffectiveStatement<?,​?>> effectiveSubstatements()
        Returns a collection of all effective substatements.
        Returns:
        collection of all effective substatements.
      • findFirstEffectiveSubstatement

        @Beta
        default <T> Optional<T> findFirstEffectiveSubstatement​(@NonNull Class<T> type)
        Find the first effective substatement of specified type.
        Type Parameters:
        T - substatement type
        Parameters:
        type - substatement type
        Returns:
        First effective substatement, or empty if no match is found.
      • findFirstEffectiveSubstatementArgument

        @Beta
        default <V,​T extends EffectiveStatement<V,​?>> Optional<V> findFirstEffectiveSubstatementArgument​(@NonNull Class<T> type)
        Find the first effective substatement of specified type and return its value.
        Type Parameters:
        T - substatement type
        V - substatement argument type
        Parameters:
        type - substatement type
        Returns:
        First effective substatement's argument, or empty if no match is found.
      • streamEffectiveSubstatements

        @Beta
        default <T extends EffectiveStatement<?,​?>> Stream<T> streamEffectiveSubstatements​(@NonNull Class<T> type)
        Find all effective substatements of specified type and return them as a stream.
        Type Parameters:
        T - substatement type
        Parameters:
        type - substatement type
        Returns:
        A stream of all effective substatements of specified type.