Interface ResourceSchema

All Superinterfaces:
Cloneable, DebugDumpable, DefinitionSearchImplementation, DefinitionsStore, Freezable, GlobalDefinitionsStore, LayeredDefinition, PrismContextSensitive, PrismSchema
All Known Subinterfaces:
MutableResourceSchema
All Known Implementing Classes:
ResourceSchemaImpl

public interface ResourceSchema extends PrismSchema, Cloneable, LayeredDefinition
A schema covering the whole resource. It contains both "raw" object class definition and "refined" object type and class definitions. - Raw (class) definitions are represented by ResourceObjectClassDefinition objects and are obtained directly from the connector. - Refined (type or class) definitions (represented by ResourceObjectTypeDefinition and ResourceObjectClassDefinition) are derived from the raw ones by merging them with information in `schemaHandling` part of the resource definition. This interface contains a lot of methods that try to find object type/class definition matching criteria. NOTE: There can be schemas that contain no refined definitions. Either the resource definition contains no `schemaHandling`, or we work at lower layers (e.g. when fetching and parsing the schema in ConnId connector). NOTE: Resolution of definitions is a complex process. So it's delegated to ResourceObjectDefinitionResolver.
Author:
semancik