The previous chapter described the basic configuration of the repository indexing system. For some environments, this configuration may be sufficient. However, many environments have complex repositories that require custom handling of the XHTML output. For example, a repository may contain multiple versions of the same data, each in a different language. To enable the repository indexing system to handle situations like this, the atg.repository.search.indexing package includes interfaces and classes that you can implement or extend to handle the particular needs of your environment.

These interfaces include PropertyAccessor, which defines how the document loaders obtain property values, and VariantProducer, which specifies logic for creating multiple XHTML documents from the same repository item. Classes that implement these interfaces must be stateless, because they can be accessed by multiple threads at the same time. Rather than maintaining state themselves, these classes instead use the Context class to store state information and to pass data to each other.

In addition to the PropertyAccessor and VariantProducer interfaces, the atg.repository.search.indexing package includes two other interfaces that you can use to customize your output, PropertyFormatter and PropertyValuesFilter. Classes that implement these interfaces are applied after all of the output properties have been gathered, so these classes do not have access to the Context object.

This chapter discusses:

For additional information about the classes and interfaces described in this chapter, see the ATG Platform API Reference.


Copyright © 1997, 2013 Oracle and/or its affiliates. All rights reserved. Legal Notices