
com.blazebit.query.metamodel.Metamodel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of blaze-query-core-api Show documentation
Show all versions of blaze-query-core-api Show documentation
A multi-platform querying library
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Blazebit
*/
package com.blazebit.query.metamodel;
import java.util.Set;
/**
* The metamodel of schema object types.
*
* @author Christian Beikov
* @since 1.0.0
*/
public interface Metamodel {
/**
* Returns the {@link SchemaObjectType} for the given class, or {@code null} if not found.
*
* @param qualifiedName The name for which to find the schema object type
* @param The schema object type
* @return The {@link SchemaObjectType} for the given class, or {@code null} if not found
*/
SchemaObjectType find(String qualifiedName);
/**
* Returns the {@link SchemaObjectType} for the given class.
* Throws an {@link IllegalArgumentException} if the qualified name is not known.
*
* @param qualifiedName The name for which to find the schema object type
* @param The schema object type
* @return The {@link SchemaObjectType} for the given class
* @throws IllegalArgumentException if the schema object type is not known
*/
SchemaObjectType get(String qualifiedName);
/**
* Returns the {@link SchemaObjectType} for the given class, or {@code null} if not found.
*
* @param schemaObjectType The schema object type class
* @param The schema object type
* @return The {@link SchemaObjectType} for the given class, or {@code null} if not found
*/
SchemaObjectType find(Class schemaObjectType);
/**
* Returns the {@link SchemaObjectType} for the given class.
* Throws an {@link IllegalArgumentException} if the class is not known.
*
* @param schemaObjectType The schema object type class
* @param The schema object type
* @return The {@link SchemaObjectType} for the given class
* @throws IllegalArgumentException if the schema object type is not known
*/
SchemaObjectType get(Class schemaObjectType);
/**
* Returns the schema object types.
*
* @return The schema object types
*/
Set> types();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy