类org.hibernate.engine.spi.FilterDefinition源码实例Demo

下面列出了怎么用org.hibernate.engine.spi.FilterDefinition的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: gorm-hibernate5   文件: GrailsDomainBinder.java
/**
 * Add a Hibernate filter for multitenancy if the persistent class is multitenant
 *
 * @param entity target persistent entity for get tenant information
 * @param persistentClass persistent class for add the filter and get tenant property info
 * @param mappings mappings to add the filter
 * @param sessionFactoryBeanName the session factory bean name
 */
protected void addMultiTenantFilterIfNecessary(
        HibernatePersistentEntity entity, PersistentClass persistentClass,
        InFlightMetadataCollector mappings, String sessionFactoryBeanName) {
    if (entity.isMultiTenant()) {
        TenantId tenantId = entity.getTenantId();

        if (tenantId != null) {
            String filterCondition = getMultiTenantFilterCondition(sessionFactoryBeanName, entity);

            persistentClass.addFilter(
                    GormProperties.TENANT_IDENTITY,
                    filterCondition,
                    true,
                    Collections.emptyMap(),
                    Collections.emptyMap()
            );

            mappings.addFilterDefinition(new FilterDefinition(
                    GormProperties.TENANT_IDENTITY,
                    filterCondition,
                    Collections.singletonMap(GormProperties.TENANT_IDENTITY, persistentClass.getProperty(tenantId.getName()).getType())
            ));
        }
    }
}
 
源代码2 项目: lams   文件: AnnotationBinder.java
private static void bindFilterDef(FilterDef defAnn, MetadataBuildingContext context) {
	Map<String, org.hibernate.type.Type> params = new HashMap<>();
	for ( ParamDef param : defAnn.parameters() ) {
		params.put( param.name(), context.getMetadataCollector().getTypeResolver().heuristicType( param.type() ) );
	}
	FilterDefinition def = new FilterDefinition( defAnn.name(), defAnn.defaultCondition(), params );
	LOG.debugf( "Binding filter definition: %s", def.getFilterName() );
	context.getMetadataCollector().addFilterDefinition( def );
}
 
源代码3 项目: lams   文件: SessionFactoryImpl.java
public FilterDefinition getFilterDefinition(String filterName) throws HibernateException {
	FilterDefinition def = filters.get( filterName );
	if ( def == null ) {
		throw new HibernateException( "No such filter configured [" + filterName + "]" );
	}
	return def;
}
 
源代码4 项目: lams   文件: InFlightMetadataCollectorImpl.java
@Override
public void addFilterDefinition(FilterDefinition filterDefinition) {
	if ( filterDefinition == null || filterDefinition.getFilterName() == null ) {
		throw new IllegalArgumentException( "Filter definition object or name is null: "  + filterDefinition );
	}
	filterDefinitionMap.put( filterDefinition.getFilterName(), filterDefinition );
}
 
源代码5 项目: judgels   文件: LegacySessionFactory.java
@Override
public FilterDefinition getFilterDefinition(String filterName) throws HibernateException {
    return null;
}
 
源代码6 项目: quarkus   文件: PrevalidatedQuarkusMetadata.java
@Override
public Map<String, FilterDefinition> getFilterDefinitions() {
    return metadata.getFilterDefinitions();
}
 
源代码7 项目: quarkus   文件: PrevalidatedQuarkusMetadata.java
@Override
public FilterDefinition getFilterDefinition(final String name) {
    return metadata.getFilterDefinition(name);
}
 
源代码8 项目: lams   文件: FilterImpl.java
public FilterDefinition getFilterDefinition() {
	return definition;
}
 
源代码9 项目: lams   文件: AbstractDelegatingMetadata.java
@Override
public Map<String, FilterDefinition> getFilterDefinitions() {
	return delegate.getFilterDefinitions();
}
 
源代码10 项目: lams   文件: AbstractDelegatingMetadata.java
@Override
public FilterDefinition getFilterDefinition(String name) {
	return delegate.getFilterDefinition( name );
}
 
源代码11 项目: lams   文件: FilterDefinitionBinder.java
/**
 * Handling for a {@code <filter-def/>} declaration.
 *
 * @param context Access to information relative to the mapping document containing this binding
 * @param jaxbFilterDefinitionMapping The {@code <filter-def/>} JAXB mapping
 */
@SuppressWarnings("unchecked")
public static void processFilterDefinition(
		HbmLocalMetadataBuildingContext context,
		JaxbHbmFilterDefinitionType jaxbFilterDefinitionMapping) {
	Map<String,Type> parameterMap = null;
	String condition = jaxbFilterDefinitionMapping.getCondition();

	for ( Serializable content : jaxbFilterDefinitionMapping.getContent() ) {
		if ( String.class.isInstance( content ) ) {
			final String contentString = content.toString().trim();
			if ( StringHelper.isNotEmpty( contentString ) ) {
				if ( condition != null ) {
					log.debugf(
							"filter-def [name=%s, origin=%s] defined multiple conditions, accepting arbitrary one",
							jaxbFilterDefinitionMapping.getName(),
							context.getOrigin().toString()
					);
				}
			}
		}
		else {
			final JaxbHbmFilterParameterType jaxbParameterMapping;
			if ( JaxbHbmFilterParameterType.class.isInstance( content ) ) {
				jaxbParameterMapping = (JaxbHbmFilterParameterType) content;
			}
			else if ( JAXBElement.class.isInstance( content ) ) {
				final JAXBElement<JaxbHbmFilterParameterType> jaxbElement = (JAXBElement<JaxbHbmFilterParameterType>) content;
				jaxbParameterMapping = jaxbElement.getValue();
			}
			else {
				throw new MappingException(
						"Unable to decipher filter-def content type [" + content.getClass().getName() + "]",
						context.getOrigin()
				);
			}

			if ( parameterMap == null ) {
				parameterMap = new HashMap<String, Type>();
			}

			parameterMap.put(
					jaxbParameterMapping.getParameterName(),
					context.getMetadataCollector().getTypeResolver().heuristicType( jaxbParameterMapping.getParameterValueTypeName() )
			);
		}
	}

	context.getMetadataCollector().addFilterDefinition(
			new FilterDefinition(
					jaxbFilterDefinitionMapping.getName(),
					condition,
					parameterMap
			)
	);

	log.debugf( "Processed filter definition : %s", jaxbFilterDefinitionMapping.getName() );
}
 
源代码12 项目: lams   文件: InFlightMetadataCollectorImpl.java
@Override
public Map<String, FilterDefinition> getFilterDefinitions() {
	return filterDefinitionMap;
}
 
源代码13 项目: lams   文件: InFlightMetadataCollectorImpl.java
@Override
public FilterDefinition getFilterDefinition(String name) {
	return filterDefinitionMap.get( name );
}
 
源代码14 项目: lams   文件: MetadataImpl.java
MetadataImpl(
		UUID uuid,
		MetadataBuildingOptions metadataBuildingOptions,
		MutableIdentifierGeneratorFactory identifierGeneratorFactory,
		Map<String, PersistentClass> entityBindingMap,
		Map<Class, MappedSuperclass> mappedSuperclassMap,
		Map<String, Collection> collectionBindingMap,
		Map<String, TypeDefinition> typeDefinitionMap,
		Map<String, FilterDefinition> filterDefinitionMap,
		Map<String, FetchProfile> fetchProfileMap,
		Map<String, String> imports,
		Map<String, IdentifierGeneratorDefinition> idGeneratorDefinitionMap,
		Map<String, NamedQueryDefinition> namedQueryMap,
		Map<String, NamedSQLQueryDefinition> namedNativeQueryMap,
		Map<String, NamedProcedureCallDefinition> namedProcedureCallMap,
		Map<String, ResultSetMappingDefinition> sqlResultSetMappingMap,
		Map<String, NamedEntityGraphDefinition> namedEntityGraphMap,
		Map<String, SQLFunction> sqlFunctionMap,
		java.util.Collection<DomainDataRegionConfigImpl.Builder> cacheRegionConfigBuilders,
		Database database,
		BootstrapContext bootstrapContext) {
	this.uuid = uuid;
	this.metadataBuildingOptions = metadataBuildingOptions;
	this.identifierGeneratorFactory = identifierGeneratorFactory;
	this.entityBindingMap = entityBindingMap;
	this.mappedSuperclassMap = mappedSuperclassMap;
	this.collectionBindingMap = collectionBindingMap;
	this.typeDefinitionMap = typeDefinitionMap;
	this.filterDefinitionMap = filterDefinitionMap;
	this.fetchProfileMap = fetchProfileMap;
	this.imports = imports;
	this.idGeneratorDefinitionMap = idGeneratorDefinitionMap;
	this.namedQueryMap = namedQueryMap;
	this.namedNativeQueryMap = namedNativeQueryMap;
	this.namedProcedureCallMap = namedProcedureCallMap;
	this.sqlResultSetMappingMap = sqlResultSetMappingMap;
	this.namedEntityGraphMap = namedEntityGraphMap;
	this.sqlFunctionMap = sqlFunctionMap;
	this.cacheRegionConfigBuilders = cacheRegionConfigBuilders;
	this.database = database;
	this.bootstrapContext = bootstrapContext;
}
 
源代码15 项目: lams   文件: MetadataImpl.java
@Override
public Map<String, FilterDefinition> getFilterDefinitions() {
	return filterDefinitionMap;
}
 
源代码16 项目: lams   文件: MetadataImpl.java
@Override
public FilterDefinition getFilterDefinition(String name) {
	return filterDefinitionMap.get( name );
}
 
/** {@inheritDoc} */
@Override public FilterDefinition getFilterDefinition(String filterName) throws HibernateException {
    return null;
}
 
/** {@inheritDoc} */
@Override public FilterDefinition getFilterDefinition(String filterName) throws HibernateException {
    return null;
}
 
/** {@inheritDoc} */
@Override public FilterDefinition getFilterDefinition(String filterName) throws HibernateException {
    return null;
}
 
源代码20 项目: lemon   文件: SessionFactoryWrapper.java
public FilterDefinition getFilterDefinition(String filterName)
        throws HibernateException {
    return sessionFactoryImplementor.getFilterDefinition(filterName);
}
 
源代码21 项目: lams   文件: Filter.java
/**
 * Get the filter definition containing additional information about the
 * filter (such as default-condition and expected parameter names/types).
 *
 * @return The filter definition
 */
public FilterDefinition getFilterDefinition();
 
源代码22 项目: lams   文件: FilterImpl.java
/**
 * Constructs a new FilterImpl.
 *
 * @param configuration The filter's global configuration.
 */
public FilterImpl(FilterDefinition configuration) {
	this.definition = configuration;
	filterName = definition.getFilterName();
}
 
源代码23 项目: lams   文件: Metadata.java
/**
 * Retrieves the complete map of filter definitions.
 *
 * Returned map is immutable
 *
 * @return The filter definition map.
 */
Map<String,FilterDefinition> getFilterDefinitions();
 
源代码24 项目: lams   文件: Metadata.java
/**
 * Retrieves a filter definition by name.
 *
 * @param name The name of the filter definition to retrieve
 * .
 * @return The filter definition, or {@code null}.
 */
FilterDefinition getFilterDefinition(String name);
 
源代码25 项目: lams   文件: InFlightMetadataCollector.java
/**
 * Adds a filter definition to this repository.
 *
 * @param definition The filter definition to add.
 *
 * @throws DuplicateMappingException If a FilterDefinition already exists with that name.
 */
void addFilterDefinition(FilterDefinition definition);
 
源代码26 项目: lams   文件: SessionFactory.java
/**
 * Obtain the definition of a filter by name.
 *
 * @param filterName The name of the filter for which to obtain the definition.
 * @return The filter definition.
 * @throws HibernateException If no filter defined with the given name.
 */
FilterDefinition getFilterDefinition(String filterName) throws HibernateException;
 
 类所在包
 同包方法