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 Modifier and Type Field Description static String
COLLECTION_RESOURCE
static String
ENTITY_ID
static String
LEFTOVER
static String
PROPERTY
static String
PROPERTY2
static String
RELATIONSHIP_ID
static String
RELATIONSHIP_RESOURCE
static String
RELATIONSHIP2_ID
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Map<String,ResourceWithMetadata>
locateEmbeddedResources(Api api, Map<String,String> embeddedKeys)
For a given Map finds any resources that should be embedded inside a class.ResourceWithMetadata
locateEntityResource(Api api, String resourceName, org.springframework.http.HttpMethod httpMethod)
Finds an Entity Resource and returns it in ResourceWithMetadata wrapper.ResourceWithMetadata
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.ResourceWithMetadata
locateRelationResource(Api api, String resourceName, String relationName, org.springframework.http.HttpMethod httpMethod)
Finds an Relationship Resource and returns it in ResourceWithMetadata wrapper.Map<String,ResourceWithMetadata>
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.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.Map<String,String>
parseTemplateVars(Map<String,String> templateVars)
-
-
-
Field Detail
-
COLLECTION_RESOURCE
static final String COLLECTION_RESOURCE
- See Also:
- Constant Field Values
-
ENTITY_ID
static final String ENTITY_ID
- See Also:
- Constant Field Values
-
RELATIONSHIP_RESOURCE
static final String RELATIONSHIP_RESOURCE
- See Also:
- Constant Field Values
-
RELATIONSHIP_ID
static final String RELATIONSHIP_ID
- See Also:
- Constant Field Values
-
PROPERTY
static final String PROPERTY
- See Also:
- Constant Field Values
-
LEFTOVER
static final String LEFTOVER
- See Also:
- Constant Field Values
-
RELATIONSHIP2_ID
static final String RELATIONSHIP2_ID
- See Also:
- Constant Field Values
-
PROPERTY2
static final String PROPERTY2
- See Also:
- Constant Field Values
-
-
Method Detail
-
parseTemplateVars
Map<String,String> parseTemplateVars(Map<String,String> templateVars)
- 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
Map<String,ResourceWithMetadata> locateEmbeddedResources(Api api, Map<String,String> embeddedKeys)
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.
-
-