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.
-