> public interface IndexedEntityDescriptor { > > I find the name "IndexedEntityDescriptor" in conjunction with isIndexed() > potentially returning "false" a bit irritating. Maybe just EntityDescriptor? > Or SearchableEntityDescriptor?
I thought about EntityDescriptor, but found it to generic. Somehow I wanted to have the connection to Search/Lucene. SearchableEntityDescriptor implies that I can search something in the descriptor. I am not 100% happy about IndexedEntityDescriptor either, but for now I still think it is the best. > boolean isIndexed(); > > Maybe return an enum if this can potentially be more than a simple yes/no? I > don't know how likely that is, but an enum would allow for evolvement. Not sure this is needed. I don't foresee that this would change. > Set<String> getIndexNames(); > > Would something like Set<IndexDescriptor> getIndexes() make sense? That's an interesting thought. In fact I was wondering whether more index specific information is needed. On the other hand, I was thinking thinking that as long as you have the index name you can always get more information via accessing the IndexManager directly - SearchFactoryImplementor.getAllIndexesManager.getIndexManager(String indexName) Now that you bring it up, I am wondering, however, if we could expose thinks like directory type via a IndexDescriptor. > At least for my case I think it would be easier if this contained all field > descriptors so I can handle them uniformly. Maybe FieldDescriptor#isId() or > if there are more id specific things something like this could be added: sounds good > // TODO should OBJECT_CLASS be considered? > Set<FieldDescriptor> getIndexedFields(); > > Could you also add FieldDescriptor getIndexedField(String fieldName); sure > public interface FieldDescriptor { > /** > * Returns the Lucene {@code Document} field name for this indexed > property. > * > * @return Returns the field name for this index property > */ > String getFieldName(); > > I'd call it just "getName()", not repeating the type's name. ok > public interface FieldNameReportingBridge { > Iterable<String> getGeneratedFieldNames(String baseFieldName); > } > > Not better a Set? Returning Iterable makes it harder for users (e.g. no > contains()) and also hides set vs. list semantics. +1 thanks for the great feedback :-) --Hardy _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev