com.facetmap
Interface CompoundHeadingFacet

All Superinterfaces:
Facet
All Known Implementing Classes:
CompoundLinearFacet, SimpleCompoundHeadingFacet

public interface CompoundHeadingFacet
extends Facet

This facet allows you to set multiple Headings, from the same Facet, on a given Resource. If you want to describe a book as having Author A and Author B (from an Author facet), then your FacetSpace would contain a CompoundHeadingFacet whose underlying facet is the Author facet. As a result, the book would appear in selections containing either the Author A heading or the Author B heading.

It's important to note that the decision to use compound headings is made for the entire facet at once. You cannot use CompoundHeadingFacet just for books with multiple authors, while using a regular TaxonomyFacet for books with one author. If the books are in the same ResourceSpace, they share the same FacetSpace -- and that FacetSpace must have only one facet type for Author: either CompoundHeadingFacet or TaxonomyFacet.

In SqlFacetmap, our high-performance implementation, CompoundHeadingFacet necessarily comes with a performance cost. Therefore you should carefully consider whether your classification scheme requires compound headings. Strict Faceted Classification discusses the relative merits of assigning multiple headings and why it may not be as necessary as it first appears to be.


Nested Class Summary
static class CompoundHeadingFacet.Util
           
 
Method Summary
 CompoundHeading getCompoundHeading(java.util.Collection headings)
           
 CompoundHeading getCompoundHeading(java.lang.String id)
           
 Facet getUnderlyingFacet()
           
 
Methods inherited from interface com.facetmap.Facet
getHeading, getId, getRootHeading, getTitle
 

Method Detail

getCompoundHeading

CompoundHeading getCompoundHeading(java.lang.String id)
                                   throws UnknownReferenceException
Throws:
UnknownReferenceException

getCompoundHeading

CompoundHeading getCompoundHeading(java.util.Collection headings)

getUnderlyingFacet

Facet getUnderlyingFacet()