
org.hibernate.search.engine.metadata.impl.FieldMetadataBuilderImpl Maven / Gradle / Ivy
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.search.engine.metadata.impl;
import java.util.HashSet;
import java.util.Set;
import org.hibernate.search.bridge.spi.FieldMetadataBuilder;
import org.hibernate.search.bridge.spi.FieldMetadataCreationContext;
import org.hibernate.search.bridge.spi.FieldType;
/**
* The internal implementation of {@link FieldMetadataBuilder}.
*
* @author Gunnar Morling
*/
class FieldMetadataBuilderImpl implements FieldMetadataBuilder {
private final Set sortableFields = new HashSet<>();
@Override
public FieldMetadataCreationContext field(String name, FieldType type) {
return new FieldMetadataCreationContextImpl( name );
}
public Set getSortableFields() {
return sortableFields;
}
private class FieldMetadataCreationContextImpl implements FieldMetadataCreationContext {
private final String fieldName;
public FieldMetadataCreationContextImpl(String name) {
this.fieldName = name;
}
@Override
public FieldMetadataCreationContext field(String name, FieldType type) {
return FieldMetadataBuilderImpl.this.field( name, type );
}
@Override
public FieldMetadataCreationContext sortable(boolean sortable) {
sortableFields.add( fieldName );
return this;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy