/* * 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 <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.cfg; import java.lang.annotation.ElementType; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; /** * @author Emmanuel Bernard */ public class PropertyDescriptor { private final String name; private final Collection<Map<String, Object>> fields = new ArrayList<Map<String, Object>>(); private final Collection<Map<String, Object>> numericFields = new ArrayList<Map<String, Object>>(); private final Collection<Map<String, Object>> sortableFields = new ArrayList<Map<String, Object>>(); private final Collection<Map<String, Object>> facets = new ArrayList<Map<String, Object>>(); private Map<String, Object> dateBridge = new HashMap<String, Object>(); private Map<String, Object> calendarBridge = new HashMap<String, Object>(); private Map<String,Object> indexEmbedded; private Map<String,Object> containedIn; private Map<String, Object> documentId; private Map<String, Object> analyzerDiscriminator; private Map<String, Object> dynamicBoost; private Map<String,Object> fieldBridge; private Map<String, Object> spatial; private Map<String, Object> latitude; private Map<String, Object> longitude; public PropertyDescriptor(String name, ElementType type) { this.name = name; } public void setDocumentId(Map<String, Object> documentId) { this.documentId = documentId; } public void addField(Map<String, Object> field) { fields.add( field ); } public void addNumericField(Map<String, Object> numericField) { numericFields.add( numericField ); } public void addSortableField(Map<String, Object> sortableField) { sortableFields.add( sortableField ); } public void addFacet(Map<String, Object> facet) { facets.add( facet ); } public void setDateBridge(Map<String,Object> dateBridge) { this.dateBridge = dateBridge; } public void setCalendarBridge(Map<String,Object> calendarBridge) { this.calendarBridge = calendarBridge; } public String getName() { return name; } public Collection<Map<String, Object>> getFields() { return fields; } public Collection<Map<String, Object>> getNumericFields() { return numericFields; } public Collection<Map<String, Object>> getSortableFields() { return sortableFields; } public Collection<Map<String, Object>> getFacets() { return facets; } public Map<String, Object> getDocumentId() { return documentId; } public Map<String, Object> getAnalyzerDiscriminator() { return analyzerDiscriminator; } public Map<String, Object> getDateBridge() { return dateBridge; } public Map<String, Object> getCalendarBridge() { return calendarBridge; } public void setAnalyzerDiscriminator(Map<String, Object> analyzerDiscriminator) { this.analyzerDiscriminator = analyzerDiscriminator; } public Map<String, Object> getIndexEmbedded() { return indexEmbedded; } public void setIndexEmbedded(Map<String, Object> indexEmbedded) { this.indexEmbedded = indexEmbedded; } public Map<String, Object> getContainedIn() { return containedIn; } public void setContainedIn(Map<String, Object> containedIn) { this.containedIn = containedIn; } public void setDynamicBoost(Map<String, Object> dynamicBoostAnn) { this.dynamicBoost = dynamicBoostAnn; } public Map<String,Object> getDynamicBoost() { return this.dynamicBoost; } public Map<String, Object> getFieldBridge() { return fieldBridge; } public void setFieldBridge(Map<String, Object> fieldBridge) { this.fieldBridge = fieldBridge; } public Map<String, Object> getSpatial() { return spatial; } public void setSpatial(Map<String, Object> spatial) { this.spatial = spatial; } public Map<String, Object> getLatitude() { return latitude; } public void setLatitude(Map<String, Object> latitude) { this.latitude = latitude; } public Map<String, Object> getLongitude() { return longitude; } public void setLongitude(Map<String, Object> longitude) { this.longitude = longitude; } }