/* * 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.engine.metadata.impl; import java.util.Set; import org.hibernate.annotations.common.reflection.XMember; import org.hibernate.search.util.impl.CollectionHelper; import org.hibernate.search.util.impl.ReflectionHelper; /** * @author Hardy Ferentschik * @author Yoann Rodiere */ public class ContainedInMetadata { private final XMember containedInMember; private final Integer maxDepth; private final String prefix; private final Set<String> includePaths; public ContainedInMetadata(XMember containedInMember, Integer maxDepth, String prefix, String[] includePaths) { this.containedInMember = containedInMember; ReflectionHelper.setAccessible( this.containedInMember ); this.maxDepth = maxDepth; this.prefix = prefix; this.includePaths = CollectionHelper.asImmutableSet( includePaths ); } public XMember getContainedInMember() { return containedInMember; } public Integer getMaxDepth() { return maxDepth; } public String getPrefix() { return prefix; } public Set<String> getIncludePaths() { return includePaths; } @Override public String toString() { final StringBuilder sb = new StringBuilder( "ContainedInMetadata{" ); sb.append( "containedInMember=" ).append( containedInMember ); sb.append( ", maxDepth=" ).append( maxDepth ); sb.append( '}' ); return sb.toString(); } }