1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package dev.metaschema.core.metapath.item.function;
7   
8   /**
9    * Represents a map key with no special handling based on the key value's data
10   * type. In this way the key value is essentially "opaque".
11   */
12  @FunctionalInterface
13  public interface IOpaqueMapKey extends IMapKey {
14    @Override
15    @SuppressWarnings("PMD.CompareObjectsWithEquals")
16    default boolean isSameKey(IMapKey other) {
17      return this == other
18          || other instanceof IOpaqueMapKey
19              && getKey().deepEquals(other.getKey());
20    }
21  }