-
- /**
- * Return the effective path of this statement. This method is intended for use with statements which naturally
- * have a {@link QName} identifier and this identifier forms the ultimate step in their
- * {@link SchemaNode#getPath()}.
- *
- * <p>
- * Returned object conforms to {@link SchemaPathSupport}'s view of how these are to be handled. Users of this
- * method are expected to consult {@link SchemaNodeDefaults#extractQName(Immutable)} and
- * {@link SchemaNodeDefaults#extractPath(Object, Immutable)} to ensure correct implementation behaviour with
- * respect to {@link SchemaNode#getQName()} and {@link SchemaNode#getPath()} respectively.
- *
- * @return An {@link Immutable} effective path object
- */
- // FIXME: Remove this when SchemaNode.getPath() is removed. QName users will store getArgument() instead.
- default @NonNull Immutable effectivePath() {
- return SchemaPathSupport.toEffectivePath(getSchemaPath());
- }
-
- /**
- * Return an optional-to-provide path for {@link SchemaNode#getPath()}. The result of this method is expected
- * to be consulted with {@link SchemaNodeDefaults#throwUnsupportedIfNull(Object, SchemaPath)} to get consistent
- * API behaviour.
- *
- * @return Potentially-null {@link SchemaPath}.
- */
- // FIXME: Remove this when SchemaNode.getPath() is removed
- default @Nullable SchemaPath optionalPath() {
- return SchemaPathSupport.toOptionalPath(getSchemaPath());
- }
-
- /**
- * Return the {@link SchemaNode#getPath()} of this statement. Not all statements have a SchemaPath, in which
- * case null is returned.
- *
- * @return SchemaPath or null
- */
- // FIXME: Remove this when SchemaNode.getPath() is removed
- @Nullable SchemaPath schemaPath();
-
- /**
- * Return the {@link SchemaNode#getPath()} of this statement, failing if it is not present.
- *
- * @return A SchemaPath.
- * @throws VerifyException if {@link #schemaPath()} returns null
- */
- // FIXME: Remove this when SchemaNode.getPath() is removed
- default @NonNull SchemaPath getSchemaPath() {
- return verifyNotNull(schemaPath(), "Missing path for %s", this);
- }