/* * 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.orm.persister.common.spi; import java.lang.reflect.Member; import org.hibernate.property.access.spi.PropertyAccess; /** * Base class for Attribute implementations * * @author Steve Ebersole */ public abstract class AbstractOrmAttribute<O,T> implements OrmAttribute<O,T> { private final ManagedTypeImplementor container; private final String name; private final PropertyAccess access; public AbstractOrmAttribute( ManagedTypeImplementor container, String name, PropertyAccess access) { this.container = container; this.name = name; this.access = access; } @Override public ManagedTypeImplementor getSource() { return container; } @Override public String getAttributeName() { return name; } @Override public String getNavigableName() { return getAttributeName(); } @Override public Member getJavaMember() { return access.getGetter().getMember(); } }