1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package dev.metaschema.core.metapath.cst.logic;
7   
8   import dev.metaschema.core.metapath.IExpression;
9   import dev.metaschema.core.metapath.item.atomic.IBooleanItem;
10  
11  /**
12   * A common interface for all expressions that produce a boolean result.
13   * <p>
14   * This interface provides default implementations for result type methods that
15   * consistently return {@link IBooleanItem} as both the base and static result
16   * type.
17   *
18   * @since 1.0.0
19   */
20  public interface IBooleanLogicExpression extends IExpression {
21    @Override
22    default Class<IBooleanItem> getBaseResultType() {
23      return IBooleanItem.class;
24    }
25  
26    @Override
27    default Class<IBooleanItem> getStaticResultType() {
28      return getBaseResultType();
29    }
30  }