@ProviderType
public interface ModelFactory
Modifier and Type | Method and Description |
---|---|
boolean |
canCreateFromAdaptable(@NotNull java.lang.Object adaptable,
@NotNull java.lang.Class<?> type) |
<ModelType> |
createModel(@NotNull java.lang.Object adaptable,
@NotNull java.lang.Class<ModelType> type)
Instantiates the given Sling Model class from the given adaptable.
|
<T> T |
exportModel(@NotNull java.lang.Object model,
@NotNull java.lang.String exporterName,
@NotNull java.lang.Class<T> targetClass,
@NotNull java.util.Map<java.lang.String,java.lang.String> options)
Export the model object using the defined target class using the named exporter.
|
<T> T |
exportModelForRequest(@NotNull SlingHttpServletRequest request,
@NotNull java.lang.String exporterName,
@NotNull java.lang.Class<T> targetClass,
@NotNull java.util.Map<java.lang.String,java.lang.String> options)
Export the model object registered to the request's resource's type using the defined target class using the named exporter.
|
<T> T |
exportModelForResource(@NotNull Resource resource,
@NotNull java.lang.String exporterName,
@NotNull java.lang.Class<T> targetClass,
@NotNull java.util.Map<java.lang.String,java.lang.String> options)
Export the model object registered to the resource's type using the defined target class using the named exporter.
|
@NotNull java.lang.Object |
getModelFromRequest(@NotNull SlingHttpServletRequest request)
Obtain an adapted model class based on the resource type of the request's resource.
|
@NotNull java.lang.Object |
getModelFromResource(@NotNull Resource resource)
Obtain an adapted model class based on the resource type of the provided resource.
|
<T> T |
getModelFromWrappedRequest(@NotNull SlingHttpServletRequest request,
@NotNull Resource resource,
@NotNull java.lang.Class<T> targetClass)
Create a wrapped request object with the specified resource and (try to) adapt the request object into the specified class.
|
boolean |
isModelAvailableForRequest(@NotNull SlingHttpServletRequest request)
Determine is a model class is available for the request's resource's resource type.
|
boolean |
isModelAvailableForResource(@NotNull Resource resource)
Determine is a model class is available for the resource's resource type.
|
boolean |
isModelClass(@NotNull java.lang.Class<?> type)
Checks if a given type can be instantiated though Sling Models.
|
boolean |
isModelClass(@NotNull java.lang.Object adaptable,
@NotNull java.lang.Class<?> type)
Deprecated.
Use
isModelClass(Class) instead! |
@NotNull <ModelType> ModelType createModel(@NotNull @NotNull java.lang.Object adaptable, @NotNull @NotNull java.lang.Class<ModelType> type) throws MissingElementsException, InvalidAdaptableException, ModelClassException, PostConstructException, ValidationException, InvalidModelException
adaptable
- the adaptable to use to instantiate the Sling Model Classtype
- the class to instantiatenull
)MissingElementsException
- in case no injector was able to inject some required values with the given typesInvalidAdaptableException
- in case the given class cannot be instantiated from the given adaptable (different adaptable on the model annotation)ModelClassException
- in case the model could not be instantiated because model annotation was missing, reflection failed, no valid constructor was found, model was not registered as adapter factory yet, or post-construct could not be calledPostConstructException
- in case the post-construct method has thrown an exception itselfValidationException
- in case validation could not be performed for some reason (e.g. no validation information available)InvalidModelException
- in case the given model type could not be validated through the model validationboolean canCreateFromAdaptable(@NotNull @NotNull java.lang.Object adaptable, @NotNull @NotNull java.lang.Class<?> type)
adaptable
- the adaptable to checktype
- the class to checktrue
in case the given class can be created from the given adaptable, otherwise false
@Deprecated boolean isModelClass(@NotNull @NotNull java.lang.Object adaptable, @NotNull @NotNull java.lang.Class<?> type)
isModelClass(Class)
instead!adaptable
- the adaptable to checktype
- the class to checkModel
boolean isModelClass(@NotNull @NotNull java.lang.Class<?> type)
Model
which adapts to the given typetrue
.type
- the class to checktrue
in case the given type can be instantiated though Sling Models.boolean isModelAvailableForResource(@NotNull @NotNull Resource resource)
resource
- a resourcetrue
if a model class is mapped to the resource typeboolean isModelAvailableForRequest(@NotNull @NotNull SlingHttpServletRequest request)
request
- a requesttrue
if a model class is mapped to the resource type@NotNull @NotNull java.lang.Object getModelFromResource(@NotNull @NotNull Resource resource) throws MissingElementsException, InvalidAdaptableException, ModelClassException, PostConstructException, ValidationException, InvalidModelException
resource
- a resourceMissingElementsException
- in case no injector was able to inject some required values with the given typesInvalidAdaptableException
- in case the given class cannot be instantiated from the given adaptable (different adaptable on the model annotation)ModelClassException
- in case the model could not be instantiated because model annotation was missing, reflection failed, no valid constructor was found, model was not registered as adapter factory yet, or post-construct could not be calledPostConstructException
- in case the post-construct method has thrown an exception itselfValidationException
- in case validation could not be performed for some reason (e.g. no validation information available)InvalidModelException
- in case the given model type could not be validated through the model validation@NotNull @NotNull java.lang.Object getModelFromRequest(@NotNull @NotNull SlingHttpServletRequest request) throws MissingElementsException, InvalidAdaptableException, ModelClassException, PostConstructException, ValidationException, InvalidModelException
request
- a requestMissingElementsException
- in case no injector was able to inject some required values with the given typesInvalidAdaptableException
- in case the given class cannot be instantiated from the given adaptable (different adaptable on the model annotation)ModelClassException
- in case the model could not be instantiated because model annotation was missing, reflection failed, no valid constructor was found, model was not registered as adapter factory yet, or post-construct could not be calledPostConstructException
- in case the post-construct method has thrown an exception itselfValidationException
- in case validation could not be performed for some reason (e.g. no validation information available)InvalidModelException
- in case the given model type could not be validated through the model validation@NotNull <T> T exportModel(@NotNull @NotNull java.lang.Object model, @NotNull @NotNull java.lang.String exporterName, @NotNull @NotNull java.lang.Class<T> targetClass, @NotNull @NotNull java.util.Map<java.lang.String,java.lang.String> options) throws ExportException, MissingExporterException
T
- the target classmodel
- the model objectexporterName
- the exporter nametargetClass
- the target classoptions
- any exporter optionsExportException
- if the export failsMissingExporterException
- if the named exporter can't be found@NotNull <T> T exportModelForResource(@NotNull @NotNull Resource resource, @NotNull @NotNull java.lang.String exporterName, @NotNull @NotNull java.lang.Class<T> targetClass, @NotNull @NotNull java.util.Map<java.lang.String,java.lang.String> options) throws MissingElementsException, InvalidAdaptableException, ModelClassException, PostConstructException, ValidationException, InvalidModelException, ExportException, MissingExporterException
T
- the target classresource
- the resourceexporterName
- the exporter nametargetClass
- the target classoptions
- any exporter optionsMissingElementsException
- in case no injector was able to inject some required values with the given typesInvalidAdaptableException
- in case the given class cannot be instantiated from the given adaptable (different adaptable on the model annotation)ModelClassException
- in case the model could not be instantiated because model annotation was missing, reflection failed, no valid constructor was found, model was not registered as adapter factory yet, or post-construct could not be calledPostConstructException
- in case the post-construct method has thrown an exception itselfValidationException
- in case validation could not be performed for some reason (e.g. no validation information available)InvalidModelException
- in case the given model type could not be validated through the model validationExportException
- if the export failsMissingExporterException
- if the named exporter can't be found@NotNull <T> T exportModelForRequest(@NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull java.lang.String exporterName, @NotNull @NotNull java.lang.Class<T> targetClass, @NotNull @NotNull java.util.Map<java.lang.String,java.lang.String> options) throws MissingElementsException, InvalidAdaptableException, ModelClassException, PostConstructException, ValidationException, InvalidModelException, ExportException, MissingExporterException
T
- the target classrequest
- the requestexporterName
- the exporter nametargetClass
- the target classoptions
- any exporter optionsMissingElementsException
- in case no injector was able to inject some required values with the given typesInvalidAdaptableException
- in case the given class cannot be instantiated from the given adaptable (different adaptable on the model annotation)ModelClassException
- in case the model could not be instantiated because model annotation was missing, reflection failed, no valid constructor was found, model was not registered as adapter factory yet, or post-construct could not be calledPostConstructException
- in case the post-construct method has thrown an exception itselfValidationException
- in case validation could not be performed for some reason (e.g. no validation information available)InvalidModelException
- in case the given model type could not be validated through the model validationExportException
- if the export failsMissingExporterException
- if the named exporter can't be found@Nullable <T> T getModelFromWrappedRequest(@NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull Resource resource, @NotNull @NotNull java.lang.Class<T> targetClass)
T
- the target adapter classrequest
- the current requestresource
- the resource to set as the wrapped request's resourcetargetClass
- the target adapter classCopyright © 2010 - 2020 Adobe. All Rights Reserved