HHH-8956 - TLC for annotation pre-processor

This commit is contained in:
Steve Ebersole 2014-02-17 20:55:34 -06:00
parent 3bb937b83f
commit ebcd0d9cff
32 changed files with 105 additions and 78 deletions

View File

@ -139,7 +139,7 @@
import org.hibernate.metamodel.spi.source.ManyToManyPluralAttributeElementSource;
import org.hibernate.metamodel.spi.source.MappedByAssociationSource;
import org.hibernate.metamodel.spi.source.MetaAttributeContext;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.MultiTenancySource;
import org.hibernate.metamodel.spi.source.NonAggregatedCompositeIdentifierSource;
import org.hibernate.metamodel.spi.source.OneToManyPluralAttributeElementSource;
@ -318,7 +318,7 @@ private EntityBinding createEntityBinding(
}
entityBinding.setMetaAttributeContext(
createMetaAttributeContext(
entitySource.getMetaAttributeSources(),
entitySource.getToolingHintSources(),
true,
bindingContext.getGlobalMetaAttributeContext()
)
@ -466,7 +466,7 @@ public void execute(LocalBindingContextExecutionContext bindingContextContext) {
// Create/Bind root-specific information
bindIdentifier( rootEntityBinding, rootEntitySource );
bindSecondaryTables( rootEntityBinding, rootEntitySource );
bindVersion( rootEntityBinding, rootEntitySource.getVersioningAttributeSource() );
bindVersion( rootEntityBinding, rootEntitySource.getVersionAttributeSource() );
bindDiscriminator( rootEntityBinding, rootEntitySource );
bindMultiTenancy( rootEntityBinding, rootEntitySource );
rootEntityBinding.getHierarchyDetails().setCaching( rootEntitySource.getCaching() );
@ -624,7 +624,7 @@ private void bindNonAggregatedCompositeIdentifier(
final CompositeAttributeBinding syntheticAttributeBinding =
rootEntityBinding.makeVirtualCompositeAttributeBinding(
syntheticAttribute,
createMetaAttributeContext( rootEntityBinding, identifierSource.getMetaAttributeSources() ),
createMetaAttributeContext( rootEntityBinding, identifierSource.getToolingHintSources() ),
idAttributeBindings
);
// Create the synthetic attribute binding.
@ -2261,7 +2261,7 @@ private void bindCompositeCollectionElement(
aggregate,
createMetaAttributeContext(
pluralAttributeBinding.getContainer(),
elementSource.getMetaAttributeSources()
elementSource.getToolingHintSources()
),
parentAttribute
);
@ -3038,12 +3038,12 @@ else if ( cascadeStyleList.size() == 1 ) {
private static MetaAttributeContext createMetaAttributeContext(
final AttributeBindingContainer attributeBindingContainer,
final AttributeSource attributeSource) {
return createMetaAttributeContext( attributeBindingContainer, attributeSource.getMetaAttributeSources() );
return createMetaAttributeContext( attributeBindingContainer, attributeSource.getToolingHintSources() );
}
private static MetaAttributeContext createMetaAttributeContext(
final AttributeBindingContainer attributeBindingContainer,
final Iterable<? extends MetaAttributeSource> metaAttributeSources) {
final Iterable<? extends ToolingHintSource> metaAttributeSources) {
return createMetaAttributeContext(
metaAttributeSources,
false,
@ -3052,21 +3052,21 @@ private static MetaAttributeContext createMetaAttributeContext(
}
private static MetaAttributeContext createMetaAttributeContext(
final Iterable<? extends MetaAttributeSource> metaAttributeSources,
final Iterable<? extends ToolingHintSource> metaAttributeSources,
final boolean onlyInheritable,
final MetaAttributeContext parentContext) {
final MetaAttributeContext subContext = new MetaAttributeContext( parentContext );
for ( final MetaAttributeSource metaAttributeSource : metaAttributeSources ) {
if ( onlyInheritable && !metaAttributeSource.isInheritable() ) {
for ( final ToolingHintSource toolingHintSource : metaAttributeSources ) {
if ( onlyInheritable && !toolingHintSource.isInheritable() ) {
continue;
}
final String name = metaAttributeSource.getName();
final String name = toolingHintSource.getName();
MetaAttribute metaAttribute = subContext.getLocalMetaAttribute( name );
if ( metaAttribute == null || metaAttribute == parentContext.getMetaAttribute( name ) ) {
metaAttribute = new MetaAttribute( name );
subContext.add( metaAttribute );
}
metaAttribute.addValue( metaAttributeSource.getValue() );
metaAttribute.addValue( toolingHintSource.getValue() );
}
return subContext;
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.annotations;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
@ -32,7 +33,7 @@
import org.hibernate.metamodel.spi.binding.IdentifierGeneratorDefinition;
import org.hibernate.metamodel.spi.source.AggregatedCompositeIdentifierSource;
import org.hibernate.metamodel.spi.source.ComponentAttributeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
/**
* @author Hardy Ferentschik
@ -119,7 +120,7 @@ public String getUnsavedValue() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
// not relevant for annotations
return Collections.emptySet();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.annotations;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -39,7 +40,7 @@
import org.hibernate.metamodel.spi.source.AttributeSource;
import org.hibernate.metamodel.spi.source.ComponentAttributeSource;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
/**
@ -163,7 +164,7 @@ public String getParentReferenceAttributeName() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
// not relevant for annotations
return Collections.emptySet();
}

View File

@ -20,6 +20,7 @@
*/
package org.hibernate.metamodel.internal.source.annotations;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@ -38,7 +39,7 @@
import org.hibernate.metamodel.spi.binding.CascadeType;
import org.hibernate.metamodel.spi.source.AttributeSource;
import org.hibernate.metamodel.spi.source.CompositePluralAttributeElementSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.PluralAttributeSource;
/**
@ -122,7 +123,7 @@ public Set<CascadeStyle> getCascadeStyles() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
// HBM only
return Collections.emptyList();
}

View File

@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@ -52,7 +53,7 @@
import org.hibernate.metamodel.spi.source.EntitySource;
import org.hibernate.metamodel.spi.source.FilterSource;
import org.hibernate.metamodel.spi.source.JpaCallbackSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.SecondaryTableSource;
import org.hibernate.metamodel.spi.source.SubclassEntitySource;
import org.hibernate.metamodel.spi.source.TableSpecificationSource;
@ -248,7 +249,7 @@ public String[] getSynchronizedTableNames() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
// not relevant for annotations
return Collections.emptySet();
}

View File

@ -24,6 +24,7 @@
package org.hibernate.metamodel.internal.source.annotations;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@ -32,7 +33,7 @@
import org.hibernate.metamodel.internal.source.annotations.attribute.SingularAssociationAttribute;
import org.hibernate.metamodel.internal.source.annotations.entity.RootEntityClass;
import org.hibernate.metamodel.spi.binding.IdentifierGeneratorDefinition;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.NonAggregatedCompositeIdentifierSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
@ -108,7 +109,7 @@ public String getUnsavedValue() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
// not relevant for annotations
return Collections.emptySet();
}

View File

@ -24,6 +24,7 @@
package org.hibernate.metamodel.internal.source.annotations;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -47,7 +48,7 @@
import org.hibernate.metamodel.spi.source.FilterSource;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MappedByAssociationSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.Orderable;
import org.hibernate.metamodel.spi.source.PluralAttributeElementSource;
import org.hibernate.metamodel.spi.source.PluralAttributeKeySource;
@ -332,7 +333,7 @@ public boolean isIncludedInOptimisticLocking() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
// not relevant for annotations
return Collections.emptySet();
}

View File

@ -76,7 +76,7 @@ public IdentifierSource getIdentifierSource() {
}
@Override
public VersionAttributeSource getVersioningAttributeSource() {
public VersionAttributeSource getVersionAttributeSource() {
final EntityClass entityClass = getEntityClass();
if ( entityClass.getVersionAttribute() == null ) {
return null;

View File

@ -23,14 +23,14 @@
*/
package org.hibernate.metamodel.internal.source.annotations;
import java.util.Collection;
import java.util.Collections;
import org.hibernate.AssertionFailure;
import org.hibernate.id.EntityIdentifierNature;
import org.hibernate.metamodel.internal.source.annotations.attribute.BasicAttribute;
import org.hibernate.metamodel.internal.source.annotations.entity.RootEntityClass;
import org.hibernate.metamodel.spi.binding.IdentifierGeneratorDefinition;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.SimpleIdentifierSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
@ -89,7 +89,7 @@ public String getIdClassPropertyAccessorName() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return Collections.emptySet();
}
}

View File

@ -24,6 +24,7 @@
package org.hibernate.metamodel.internal.source.annotations;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -38,7 +39,7 @@
import org.hibernate.metamodel.internal.source.annotations.attribute.MappedAttribute;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
@ -167,7 +168,7 @@ public Nature getNature() {
}
@Override
public Iterable<MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return Collections.emptySet();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import org.hibernate.cfg.NotYetImplementedException;
@ -48,7 +49,7 @@
import org.hibernate.metamodel.spi.source.ComponentAttributeSource;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.LocalBindingContext;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
/**
@ -243,7 +244,7 @@ public SingularAttributeBinding.NaturalIdMutability getNaturalIdMutability() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return componentSourceElement.getMeta();
}
}

View File

@ -63,7 +63,7 @@
import org.hibernate.metamodel.spi.source.FilterSource;
import org.hibernate.metamodel.spi.source.JpaCallbackSource;
import org.hibernate.metamodel.spi.LocalBindingContext;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.SecondaryTableSource;
import org.hibernate.metamodel.spi.source.SubclassEntitySource;
@ -537,7 +537,7 @@ public String[] getSynchronizedTableNames() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public java.util.Collection<? extends ToolingHintSource> getToolingHintSources() {
return entityElement.getMeta();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
@ -41,7 +42,7 @@
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.FilterSource;
import org.hibernate.metamodel.spi.source.MappingException;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.PluralAttributeElementSource;
import org.hibernate.metamodel.spi.source.PluralAttributeKeySource;
import org.hibernate.metamodel.spi.source.PluralAttributeSource;
@ -344,7 +345,7 @@ public CustomSQL getCustomSqlDeleteAll() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return pluralAttributeElement.getMeta();
}

View File

@ -24,6 +24,7 @@
package org.hibernate.metamodel.internal.source.hbm;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@ -42,7 +43,7 @@
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.AttributeSource;
import org.hibernate.metamodel.spi.source.CompositePluralAttributeElementSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
/**
@ -175,7 +176,7 @@ private static AttributeSource buildAttributeSource(
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return compositeElement.getMeta();
}
}

View File

@ -60,7 +60,7 @@
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.LocalBindingContext;
import org.hibernate.metamodel.spi.source.MetaAttributeContext;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.SizeSource;
import org.hibernate.metamodel.spi.source.TableSpecificationSource;
@ -223,12 +223,12 @@ public static String getPropertyAccessorName(String access, boolean isEmbedded,
}
public static MetaAttributeContext extractMetaAttributeContext(
List<? extends MetaAttributeSource> metaAttributeSourceList,
List<? extends ToolingHintSource> metaAttributeSourceList,
boolean onlyInheritable,
MetaAttributeContext parentContext) {
final MetaAttributeContext subContext = new MetaAttributeContext( parentContext );
for ( MetaAttributeSource meta : metaAttributeSourceList ) {
for ( ToolingHintSource meta : metaAttributeSourceList ) {
if ( onlyInheritable & !meta.isInheritable() ) {
continue;
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -31,7 +32,7 @@
import org.hibernate.mapping.PropertyGeneration;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
import org.hibernate.metamodel.spi.source.SizeSource;
@ -192,7 +193,7 @@ public boolean isSingular() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return keyPropertyElement.getMeta();
}
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
@ -32,7 +33,7 @@
import org.hibernate.metamodel.source.internal.jaxb.hbm.JaxbColumnElement;
import org.hibernate.metamodel.source.internal.jaxb.hbm.JaxbKeyManyToOneElement;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
import org.hibernate.type.ForeignKeyDirection;
@ -168,7 +169,7 @@ public List<RelationalValueSource> relationalValueSources() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return keyManyToOneElement.getMeta();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@ -30,7 +31,7 @@
import org.hibernate.metamodel.source.internal.jaxb.hbm.JaxbColumnElement;
import org.hibernate.metamodel.source.internal.jaxb.hbm.JaxbManyToOneElement;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.type.ForeignKeyDirection;
@ -175,7 +176,7 @@ public List<RelationalValueSource> relationalValueSources() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return manyToOneElement.getMeta();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@ -30,7 +31,7 @@
import org.hibernate.metamodel.source.internal.jaxb.hbm.JaxbColumnElement;
import org.hibernate.metamodel.source.internal.jaxb.hbm.JaxbOneToOneElement;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.type.ForeignKeyDirection;
@ -171,7 +172,7 @@ public List<RelationalValueSource> relationalValueSources() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return oneToOneElement.getMeta();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -31,7 +32,7 @@
import org.hibernate.mapping.PropertyGeneration;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
import org.hibernate.metamodel.spi.source.SizeSource;
@ -209,7 +210,7 @@ public boolean isSingular() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return propertyElement.getMeta();
}
}

View File

@ -24,6 +24,7 @@
package org.hibernate.metamodel.internal.source.hbm;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.hibernate.EntityMode;
@ -50,7 +51,7 @@
import org.hibernate.metamodel.spi.source.DiscriminatorSource;
import org.hibernate.metamodel.spi.source.IdentifierSource;
import org.hibernate.metamodel.spi.source.MappingException;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.MultiTenancySource;
import org.hibernate.metamodel.spi.source.NonAggregatedCompositeIdentifierSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
@ -121,7 +122,7 @@ public IdentifierSource getIdentifierSource() {
}
@Override
public VersionAttributeSource getVersioningAttributeSource() {
public VersionAttributeSource getVersionAttributeSource() {
if ( entityElement().getVersion() != null ) {
return new VersionAttributeSourceImpl(
sourceMappingDocument(),
@ -397,7 +398,7 @@ public String getUnsavedValue() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return entityElement().getId().getMeta();
}
@ -467,7 +468,7 @@ public String getIdClassPropertyAccessorName() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return entityElement().getId().getMeta();
}
}
@ -621,7 +622,7 @@ public String getUnsavedValue() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return entityElement().getCompositeId().getMeta();
}
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -31,7 +32,7 @@
import org.hibernate.mapping.PropertyGeneration;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.SingularAttributeSource;
import org.hibernate.metamodel.spi.source.SizeSource;
@ -191,7 +192,7 @@ public boolean isSingular() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return idElement.getMeta();
}
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -31,7 +32,7 @@
import org.hibernate.mapping.PropertyGeneration;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.VersionAttributeSource;
@ -178,7 +179,7 @@ public boolean isSingular() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return timestampElement.getMeta();
}

View File

@ -23,6 +23,7 @@
*/
package org.hibernate.metamodel.internal.source.hbm;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -32,7 +33,7 @@
import org.hibernate.mapping.PropertyGeneration;
import org.hibernate.metamodel.spi.binding.SingularAttributeBinding;
import org.hibernate.metamodel.spi.source.HibernateTypeSource;
import org.hibernate.metamodel.spi.source.MetaAttributeSource;
import org.hibernate.metamodel.spi.source.ToolingHintSource;
import org.hibernate.metamodel.spi.source.RelationalValueSource;
import org.hibernate.metamodel.spi.source.VersionAttributeSource;
@ -189,7 +190,7 @@ public boolean isSingular() {
}
@Override
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources() {
public Collection<? extends ToolingHintSource> getToolingHintSources() {
return versionElement.getMeta();
}
}

View File

@ -28,7 +28,7 @@
*
* @author Steve Ebersole
*/
public interface AttributeSource extends MetaSource{
public interface AttributeSource extends ToolingHintSourceContainer {
/**
* Obtain the attribute name.
*

View File

@ -29,7 +29,7 @@
* @author Steve Ebersole
*/
public interface CompositePluralAttributeElementSource
extends PluralAttributeElementSource, AttributeSourceContainer, CascadeStyleSource, MetaSource {
extends PluralAttributeElementSource, AttributeSourceContainer, CascadeStyleSource, ToolingHintSourceContainer {
public JavaTypeDescriptor getTypeDescriptor();

View File

@ -38,7 +38,7 @@
*
* @author Steve Ebersole
*/
public interface EntitySource extends SubclassEntityContainer, AttributeSourceContainer, MetaSource {
public interface EntitySource extends SubclassEntityContainer, AttributeSourceContainer, ToolingHintSourceContainer {
/**
* Obtain the origin of this source.

View File

@ -31,7 +31,7 @@
*
* @author Steve Ebersole
*/
public interface IdentifierSource extends MetaSource {
public interface IdentifierSource extends ToolingHintSourceContainer {
/**
* Obtain the identifier generator source.
*

View File

@ -46,11 +46,11 @@ public interface RootEntitySource extends EntitySource {
public IdentifierSource getIdentifierSource();
/**
* Obtain the source information about the attribute used for versioning.
* Obtain the source information about the attribute used for optimistic locking.
*
* @return the source information about the attribute used for versioning
* @return the source information about the attribute used for optimistic locking
*/
public VersionAttributeSource getVersioningAttributeSource();
public VersionAttributeSource getVersionAttributeSource();
/**
* Obtain the source information about the discriminator attribute for single table inheritance

View File

@ -24,12 +24,15 @@
package org.hibernate.metamodel.spi.source;
/**
* Describes incoming {@link org.hibernate.mapping.MetaAttribute} values. This is only from {@code hbm} via the
* {@code <meta/>} element(s).
* Describes the source of a tooling hint.
* <p/>
* This is equivalent to the legacy {@link org.hibernate.mapping.MetaAttribute} and only
* comes from {@code hbm} via the {@code <meta/>} element(s) and the new unified
* XML schema as a {@code <tooling-hint/>}.
*
* @author Steve Ebersole
*/
public interface MetaAttributeSource {
public interface ToolingHintSource {
/**
* Obtain the supplied meta-attribute name
*

View File

@ -23,14 +23,19 @@
*/
package org.hibernate.metamodel.spi.source;
import java.util.Collection;
/**
* @author Strong Liu <stliu@hibernate.org>
* Describes the source of tooling hints.
*
* @author Strong Liu
* @author Steve Ebersole
*/
public interface MetaSource {
public interface ToolingHintSourceContainer {
/**
* Obtain the meta-attribute sources associated with this attribute.
* Obtain the tooling hint sources associated with this container.
*
* @return The meta-attribute sources.
* @return The tooling hint sources.
*/
public Iterable<? extends MetaAttributeSource> getMetaAttributeSources();
public Collection<? extends ToolingHintSource> getToolingHintSources();
}

View File

@ -86,7 +86,7 @@
<inheritance:implements>org.hibernate.metamodel.source.internal.jaxb.hbm.PluralAttributeElement</inheritance:implements>
</jaxb:bindings>
<jaxb:bindings node="//xsd:complexType[@name='meta-element']">
<inheritance:implements>org.hibernate.metamodel.spi.source.MetaAttributeSource</inheritance:implements>
<inheritance:implements>org.hibernate.metamodel.spi.source.ToolingHintSource</inheritance:implements>
</jaxb:bindings>
<jaxb:bindings node="//xsd:complexType[@name='filter-param-element']">
<inheritance:implements>org.hibernate.metamodel.spi.source.FilterParameterSource</inheritance:implements>