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 }