org.compass.core.mapping
Interface CompassMapping

All Known Subinterfaces:
InternalCompassMapping
All Known Implementing Classes:
DefaultCompassMapping

public interface CompassMapping

Holds the different mapping definitions Compass has.

Author:
kimchy

Method Summary
 ResourceMapping findNonRootMappingByClass(Class clazz)
          Finds a non root mapping by the class name.
 ResourceMapping findRootMappingByClass(Class clazz)
          Finds a root mapping by the class name.
 AliasMapping getAliasMapping(String alias)
          Returns the alias mapping for the given alias (most if not all of the times, this will be a ResourceMapping).
 List<ResourceMapping> getAllDirectMappingByClass(Class clazz)
          Returns all the direct class mapping for the given class (root or not).
 ConverterLookup getConverterLookup()
          Returns the converter lookup.
 ResourceMapping getDirectMappingByClass(Class clazz)
          Returns the direct class mapping for the given class (root or not).
 ResourceMapping getMappingByAlias(String alias)
          Returns the resource mapping for the given alias.
 ResourceMapping getMappingByClass(Class clazz)
          Finds the Resource mapping that is the "nearest" to the provided class.
 AliasMapping[] getMappings()
          Returns all the current mappings.
 ResourceMapping getNonRootMappingByAlias(String alias)
          Returns the non root resource mapping associated with the alias.
 ResourceMapping getNonRootMappingByClass(Class clazz)
          Does exactly the same as findNonRootMappingByClass(Class), but returns null if nothing is found (does not throw an exception).
 PropertyPath getPath()
          Returns the root path of the mappings.
 ResourcePropertyLookup getResourcePropertyLookup(String name)
          Returns a resoruce lookup for a specific name.
 ResourcePropertyMapping getResourcePropertyMappingByPath(String path)
          Finds the ResourcePropertyMapping definition for the specified path.
 ResourcePropertyMapping[] getResourcePropertyMappingsByPath(String path)
          Returns an array of all the given ResourcePropertyMapping for the given path.
 ResourceMapping getRootMappingByAlias(String alias)
          Returns the root resource mapping associated with the alias.
 ResourceMapping getRootMappingByClass(Class clazz)
          Does exactly the same as findRootMappingByClass(Class), but returns null if nothing is found (does not throw an exception).
 ResourceMapping[] getRootMappings()
          Returns all the root resource mappings.
 boolean hasMappingForAlias(String alias, Cascade cascade)
          Returns true if the given alias has either root mappings, or if it has a non root mapping, it has mappings for the given cascade operation.
 boolean hasMappingForClass(Class clazz, Cascade cascade)
          Returns true if the given class has either root mappings, or if it has a non root mapping, it has mappings for the given cascade operation.
 boolean hasMultipleRootClassMapping(String className)
          Returns true if the given className has multiple class mappings.
 boolean hasRootClassMapping(String alias)
          Returns true if there is a root ClassMapping for the given alias.
 boolean hasRootMappingByAlias(String alias)
          Returns true if the given alias has a root resource mapping.
 boolean hasRootRawResourceMapping(String alias)
          Returns true if there is a root RawResourceMapping for the given alias.
 

Method Detail

getConverterLookup

ConverterLookup getConverterLookup()
Returns the converter lookup.


getPath

PropertyPath getPath()
Returns the root path of the mappings.


getMappings

AliasMapping[] getMappings()
Returns all the current mappings.


getRootMappings

ResourceMapping[] getRootMappings()
Returns all the root resource mappings.


getAliasMapping

AliasMapping getAliasMapping(String alias)
Returns the alias mapping for the given alias (most if not all of the times, this will be a ResourceMapping).


getMappingByAlias

ResourceMapping getMappingByAlias(String alias)
Returns the resource mapping for the given alias.


getRootMappingByAlias

ResourceMapping getRootMappingByAlias(String alias)
Returns the root resource mapping associated with the alias. Retruns null if no root mapping (or no mapping) is associated with the alias.


getNonRootMappingByAlias

ResourceMapping getNonRootMappingByAlias(String alias)
Returns the non root resource mapping associated with the alias. Retruns null if no non root mapping (or no mapping) is associated with the alias.


hasRootMappingByAlias

boolean hasRootMappingByAlias(String alias)
Returns true if the given alias has a root resource mapping.


hasRootClassMapping

boolean hasRootClassMapping(String alias)
Returns true if there is a root ClassMapping for the given alias.


hasRootRawResourceMapping

boolean hasRootRawResourceMapping(String alias)
Returns true if there is a root RawResourceMapping for the given alias.


hasMultipleRootClassMapping

boolean hasMultipleRootClassMapping(String className)
Returns true if the given className has multiple class mappings.


getDirectMappingByClass

ResourceMapping getDirectMappingByClass(Class clazz)
Returns the direct class mapping for the given class (root or not). Will not try to navigate up the interface/superclass in order to find the "nearset" class mapping.

If a class has more than one mappings (using differnet aliases) will return the first one.


getAllDirectMappingByClass

List<ResourceMapping> getAllDirectMappingByClass(Class clazz)
Returns all the direct class mapping for the given class (root or not). Will not try to navigate up the interface/superclass in order to find the "nearest" class mapping.


getMappingByClass

ResourceMapping getMappingByClass(Class clazz)
Finds the Resource mapping that is the "nearest" to the provided class. Similar way that findRootMappingByClass(Class) except the search is on all the ClassMappings (even ones that are not marked as root).


hasMappingForClass

boolean hasMappingForClass(Class clazz,
                           Cascade cascade)
Returns true if the given class has either root mappings, or if it has a non root mapping, it has mappings for the given cascade operation.


hasMappingForAlias

boolean hasMappingForAlias(String alias,
                           Cascade cascade)
Returns true if the given alias has either root mappings, or if it has a non root mapping, it has mappings for the given cascade operation.


findRootMappingByClass

ResourceMapping findRootMappingByClass(Class clazz)
                                       throws MappingException
Finds a root mapping by the class name. If a root mapping is not found for the class name, than searches for mappings for the interfaces, if not found, checks for subclasses, and subclassess interfaces. Note: If there is no direct mapping that match the class name, then the mapping that is found should be marked as poly.

Parameters:
clazz - The class to find root mapping for
Returns:
The resource mapping
Throws:
MappingException

getRootMappingByClass

ResourceMapping getRootMappingByClass(Class clazz)
                                      throws MappingException
Does exactly the same as findRootMappingByClass(Class), but returns null if nothing is found (does not throw an exception).

Throws:
MappingException

findNonRootMappingByClass

ResourceMapping findNonRootMappingByClass(Class clazz)
                                          throws MappingException
Finds a non root mapping by the class name. If a non root mapping is not found for the class name, than searches for mappings for the interfaces, if not found, checks for subclasses, and subclassess interfaces. Note: If there is no direct mapping that match the class name, then the mapping that is found should be marked as poly.

Parameters:
clazz - The class to find root mapping for
Returns:
The resource mapping
Throws:
MappingException

getNonRootMappingByClass

ResourceMapping getNonRootMappingByClass(Class clazz)
                                         throws MappingException
Does exactly the same as findNonRootMappingByClass(Class), but returns null if nothing is found (does not throw an exception).

Throws:
MappingException

getResourcePropertyLookup

ResourcePropertyLookup getResourcePropertyLookup(String name)
                                                 throws IllegalArgumentException
Returns a resoruce lookup for a specific name. Supports dot path notation ([alias].[class property].). Allows to get the meta-data/resource property mapping through it (or a list of mappings).

Throws:
IllegalArgumentException

getResourcePropertyMappingByPath

ResourcePropertyMapping getResourcePropertyMappingByPath(String path)
Finds the ResourcePropertyMapping definition for the specified path. The path is in the format of: [alias].[class property mapping].[meta data mapping] in case of class mapping, and [alias].[resource property mapping] in case of resource mapping. The format of [alias].[class property mapping] can also be applied, and will result in the meta data id of the given class property mapping.

Parameters:
path - the path to the resource property mapping
Returns:
the resource property mapping for the given path

getResourcePropertyMappingsByPath

ResourcePropertyMapping[] getResourcePropertyMappingsByPath(String path)
Returns an array of all the given ResourcePropertyMapping for the given path. If the path is in "dot path" notation, will reutrn a single mappings matching it (see getResourcePropertyMappingByPath(String)). Otherwise will return all the ones mapped to the given name.



Copyright (c) 2004-2009 The Compass Project.