org.hibernate.graph.SubGraph Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of beangle-hibernate-core Show documentation
Show all versions of beangle-hibernate-core Show documentation
Hibernate Orm Core Shade,Support Scala Collection
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.graph;
import java.util.List;
import jakarta.persistence.Subgraph;
import jakarta.persistence.metamodel.Attribute;
import org.hibernate.metamodel.model.domain.PersistentAttribute;
/**
* Extends the JPA-defined {@link Subgraph} with additional operations.
*
* @author Steve Ebersole
* @author Andrea Boriero
*
* @see RootGraph
*/
public interface SubGraph extends Graph, Subgraph {
@Override
@SuppressWarnings({"unchecked", "rawtypes"})
default List> getAttributeNodes() {
return (List) getAttributeNodeList();
}
@Override
default void addAttributeNodes(String... names) {
if ( names == null ) {
return;
}
for ( String name : names ) {
addAttributeNode( name );
}
}
@Override
@SuppressWarnings("unchecked")
default void addAttributeNodes(Attribute... attribute) {
if ( attribute == null ) {
return;
}
for ( Attribute node : attribute ) {
assert node instanceof PersistentAttribute;
addAttributeNode( (PersistentAttribute) node );
}
}
@Override
default SubGraph addSubgraph(Attribute attribute) {
return addSubGraph( (PersistentAttribute) attribute );
}
@Override
default SubGraph extends X> addSubgraph(Attribute attribute, Class extends X> type) {
return addSubGraph( (PersistentAttribute) attribute, type );
}
@Override
default SubGraph addSubgraph(String name) {
return addSubGraph( name );
}
@Override
default SubGraph addSubgraph(String name, Class type) {
return addSubGraph( name, type );
}
@Override
default SubGraph addKeySubgraph(Attribute attribute) {
return addKeySubGraph( (PersistentAttribute) attribute );
}
@Override
default SubGraph extends X> addKeySubgraph(Attribute attribute, Class extends X> type) {
return addKeySubGraph( (PersistentAttribute) attribute, type );
}
@Override
default SubGraph addKeySubgraph(String name) {
return addKeySubGraph( name );
}
@Override
default SubGraph addKeySubgraph(String name, Class type) {
return addKeySubGraph( name, type );
}
@Override
default Class getClassType() {
return getGraphedType().getJavaType();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy