Package org.alfresco.rest.framework.core
Interface ResourceLocator
- All Known Implementing Classes:
ResourceLookupDictionary
public interface ResourceLocator
Locates rest resources in the system. It can locate Entity,Relationship and Action resources. It can also find embedded resources on a
value object. Additionally, it supports locating multiple relationship resources at the same time.
- Author:
- Gethin James
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionlocateEmbeddedResources
(Api api, Map<String, String> embeddedKeys) For a given Map finds any resources that should be embedded inside a class.locateEntityResource
(Api api, String resourceName, org.springframework.http.HttpMethod httpMethod) Finds an Entity Resource and returns it in ResourceWithMetadata wrapper.locateRelationPropertyResource
(Api api, String entityResource, String relationResource, String property, org.springframework.http.HttpMethod httpMethod) Finds a property or action on a Relationship Resource and returns it in ResourceWithMetadata wrapper.locateRelationResource
(Api api, String resourceName, String relationName, org.springframework.http.HttpMethod httpMethod) Finds an Relationship Resource and returns it in ResourceWithMetadata wrapper.locateRelationResource
(Api api, String entityKey, Collection<String> relationshipKeys, org.springframework.http.HttpMethod httpMethod) Finds multiple relationship Resources and returns them as a Map of ResourceWithMetadata.locateResource
(Api api, Map<String, String> templateVars, org.springframework.http.HttpMethod httpMethod) Used by webscripts to locate a resource based on the URL template variables.parseTemplateVars
(Map<String, String> templateVars)
-
Field Details
-
COLLECTION_RESOURCE
- See Also:
-
ENTITY_ID
- See Also:
-
RELATIONSHIP_RESOURCE
- See Also:
-
RELATIONSHIP_ID
- See Also:
-
PROPERTY
- See Also:
-
LEFTOVER
- See Also:
-
RELATIONSHIP2_ID
- See Also:
-
PROPERTY2
- See Also:
-
-
Method Details
-
parseTemplateVars
- Parameters:
templateVars
-- Returns:
-
locateEntityResource
ResourceWithMetadata locateEntityResource(Api api, String resourceName, org.springframework.http.HttpMethod httpMethod) throws InvalidArgumentException, UnsupportedResourceOperationException Finds an Entity Resource and returns it in ResourceWithMetadata wrapper.- Parameters:
api
- - The API being used.resourceName
- - The entity resource name - this is the "name" property on the @EntityResource annotation.httpMethod
- - A permitted HttpMethod- Returns:
- ResourceWithMetadata - The resource and its metadata.
- Throws:
InvalidArgumentException
- - thrown if either the api or resourceName's are invalid. ie. A resource doesn't exist.UnsupportedResourceOperationException
- - throw if the resource does not support the specified HttpMethod.
-
locateRelationPropertyResource
ResourceWithMetadata locateRelationPropertyResource(Api api, String entityResource, String relationResource, String property, org.springframework.http.HttpMethod httpMethod) throws InvalidArgumentException, UnsupportedResourceOperationException Finds a property or action on a Relationship Resource and returns it in ResourceWithMetadata wrapper.- Parameters:
api
- - The API being used.resourceName
- - The entity resource name - this is the "entityResourceName" property on the @RelationshipResource annotation.relationName
- - The relationship resource name - this is the "name" property on the @RelationshipResource annotation.property
- - The property resource name - can be either an action or a @BinaryPropertyhttpMethod
- - A permitted HttpMethod- Returns:
- ResourceWithMetadata - The resource and its metadata.
- Throws:
InvalidArgumentException
- - thrown if either the api or resourceName's are invalid. ie. A resource doesn't exist.UnsupportedResourceOperationException
- - throw if the resource does not support the specified HttpMethod.
-
locateRelationResource
ResourceWithMetadata locateRelationResource(Api api, String resourceName, String relationName, org.springframework.http.HttpMethod httpMethod) throws InvalidArgumentException, UnsupportedResourceOperationException Finds an Relationship Resource and returns it in ResourceWithMetadata wrapper.- Parameters:
api
- - The API being used.resourceName
- - The entity resource name - this is the "entityResourceName" property on the @RelationshipResource annotation.relationName
- - The relationship resource name - this is the "name" property on the @RelationshipResource annotation.httpMethod
- - A permitted HttpMethod- Returns:
- ResourceWithMetadata - The resource and its metadata.
- Throws:
InvalidArgumentException
- - thrown if either the api or resourceName's are invalid. ie. A resource doesn't exist.UnsupportedResourceOperationException
- - throw if the resource does not support the specified HttpMethod.
-
locateResource
ResourceWithMetadata locateResource(Api api, Map<String, String> templateVars, org.springframework.http.HttpMethod httpMethod) Used by webscripts to locate a resource based on the URL template variables.- Parameters:
api
- - The API being used.templateVars
- A map of variables representing the requesthttpMethod
- - A permitted HttpMethod- Returns:
- ResourceWithMetadata - The resource and its metadata.
-
locateEmbeddedResources
For a given Map finds any resources that should be embedded inside a class.- Parameters:
api
- - The API being used.embeddedKeys
- - Likely to be the result of a call to ResourceInspector.findEmbeddedResources()- Returns:
- ResourceWithMetadata - The resources with metadata.
-
locateRelationResource
Map<String,ResourceWithMetadata> locateRelationResource(Api api, String entityKey, Collection<String> relationshipKeys, org.springframework.http.HttpMethod httpMethod) throws InvalidArgumentException, UnsupportedResourceOperationException Finds multiple relationship Resources and returns them as a Map of ResourceWithMetadata.- Parameters:
api
- - The API being used.entityKey
- - this is the "entityResourceName" property on the @RelationshipResource annotation.relationshipKeys
- - The relationship resource names - this is the "name" property on the @RelationshipResource annotation.httpMethod
- - A permitted HttpMethod- Returns:
- ResourceWithMetadata - The resource and its metadata.
- Throws:
InvalidArgumentException
- - thrown if either the api or resourceName's are invalid. ie. A resource doesn't exist.UnsupportedResourceOperationException
- - throw if the resource does not support the specified HttpMethod.
-