Contentstack - Java Delivery SDK
Java Delivery SDK for Contentstack
Contentstack is a headless CMS with an API-first approach. It is a CMS that developers can use to build powerful cross-platform applications in their favorite languages. Build your application frontend, and Contentstack will take care of the rest. Read More.
Contentstack provides Java Delivery SDK to build application on top of Java. Given below is the detailed guide and helpful resources to get started with our Java Delivery SDK.
Prerequisite
To get started with Java SDK, you will need the following:
- An IDE. You can use an IDE of your choice, but make sure it supports Java.
- Java SDK version 1.8 or later
SDK Installation and Setup
Add the following dependency code snippets into your project:
Maven
<dependency> <groupid>com.contentstack.sdk</groupid> <artifactid>java</artifactid> <version>{version}</version> </dependency>
Maven users need to add the above code in your pom.xml
file under the <dependencies>
section.
Gradle
implementation'com.contentstack.sdk:java:{version}
Gradle users need to add the above dependency code into your build.gradle
file.
You can download the latest dependency version here.
Quickstart in 5 mins
Initializing your SDK
To initialize the SDK, you will need to specify the stack’s APIKey, Delivery Token, and Environment where you will publish your content.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("APIKey","deliveryToken","environmentName");
Note : By default, the SDK uses the North American region. Configuration changes are not required for North American region users.
For setting the Region refer to the code below:
import com.contentstack.sdk.*; Config config = Config(); Config.region = ContentstackRegion.EU; Stack stack = Contentstack.stack("APIKey", "deliveryToken", "environmentName", config);
For setting the Branch refer to the code below:
import com.contentstack.sdk.*; Config config = Config(); config.setBranch("branch"); Stack stack = Contentstack.stack("APIkey", "deliveryToken", "environmentName", config);
Note:For Europe, set the region as EU, for Azure North America , set the region as AZURE_NA, for Azure Europe, set the region as AZURE_EU, for GCP North America, set the region as GCP_NA, for GCP Europe, set the region as GCP_EU.
Basic Queries
Contentstack SDKs let you interact with the Content Delivery APIs and retrieve content from Contentstack. They are read-only in nature. The SDKs fetch and deliver content from the nearest server via Fastly, our powerful and robust CDN.
Get a Single Entry
To retrieve a single Entry from a Content Type, use the code snippet given below:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("APIKey", "deliveryToken", "environmentName"); ContentType contentType = stack.contentType("contentTypeUid"); Entry entry = contentType.entry("entryUid"); entry.fetch(new EntryResultCallBack() { @Override public void onCompletion(ResponseType responseType, Error error) { if (error == null) { System.out.println(entry); }});
Get Multiple Entries
To retrieve multiple entries of a particular content type, use the code snippet given below:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("APIKey", "deliveryToken", "environmentName"); Query query = stack.contentType("contentTypeUid").query(); query.find(new QueryResultsCallBack){ @Override public void onCompletion(ResponseType responseType, QueryResult queryResult, Error error) { if (error == null) { }} });
- Currently, the Java SDK does not support multiple content types referencing in a single query. For more information on how to query entries and assets, refer the Queriessection of our Content Delivery API documentation
- By default, the limit for response details per request is 100, with the maximum limit set at 250.
Pagination
In a single instance, the Get Multiple Entries query will retrieve only the first 100 items of the specified content type. You can paginate and retrieve the rest of the items in batches using the skip and limit parameters in subsequent requests.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("APIKey","deliveryToken","environmentName"); Query query = stack.contentType("contentTypeUid").query(); query.skip(20).limit(20).find(newQueryResultsCallBack(){ @Override public void onCompletion(ResponseType responseType, QueryResult queryResult, Error error){ }});
Contentstack
stack
A stack method provides access to the stack of your site. It allows users to get the content within a single space.
Name | Type | Description |
---|---|---|
apiKey (required) | String | API Key of your application on Contentstack |
deliveryToken (required) | String | Delivery Tokens retrieves only the published entries of the environment with which it is associated |
environment (required) | String | |
config | Config | Config instance to set environment and other configuration details. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment");
Example with Config:
import com.contentstack.sdk.*; Config config = new Config().setHost("api.contentstack.io"); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment");
Config
Config class that exposes config instance, Where the user can provide other configurations on the stack
earlyAccess
With the earlyAccess header support, you can access features that are part of the early access program.
Config config = new Config(); String[] earlyAccess = {"Taxonomy", "Teams", "Terms", "LivePreview"}; config.setEarlyAccess(earlyAccess); Stack stack = Contentstack.stack(API_KEY, DELIVERY_TOKEN, ENV, config);
getBranch
Get branch of the stack
import com.contentstack.sdk.*; Config config = new Config(); config.getBranch(); Stack stack = Contentstack.stack(apiKey, deliveryToken, environment, config);
setBranch
Set branch for on the stack
Name | Type | Description |
---|---|---|
branch (required) | String | branch you want to set |
import com.contentstack.sdk.*; Config config = new Config(); config.setBranch("branchName"); Stack stack = Contentstack.stack(apiKey, deliveryToken, environment, config);
setProxy
Sets custom proxy
Name | Type | Description |
---|---|---|
proxy (required) | Proxy | Proxy setting, typically a type (http, socks) and a socket address. A Proxy is an immutable object |
import com.contentstack.sdk.*; import java.net.*; java.net.Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxyHost", "proxyPort")); Config config = new Config(); config.setProxy(proxy);
getProxy
Returns the Proxy instance
import com.contentstack.sdk.*; Config config = new Config(); config.getProxy(); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
connectionPool
Manages reuse of HTTP and HTTP/2 connections for reduced network latency. HTTP requests that * share the same {@link okhttp3.Address} may share a {@link okhttp3.Connection}. This class implements the policy of which connections to keep open for future use.
Name | Type | Description |
---|---|---|
maxIdleConnections (required) | Int | the maxIdleConnections default value is 5 |
keepAliveDuration (required) | long | the keepAliveDuration default value is 5 |
timeUnit (required) | TimeUnit | the timeUnit default value is TimeUnit.MINUTES |
import com.contentstack.sdk.*; Config config = new Config(); config.connectionPool(maxIdleConnections, keepAliveDuration, timeUnit); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
getRegion
Get Region of the request url
import com.contentstack.sdk.*; Config config = new Config(); config.getRegion(); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
setRegion()
Sets Region of the database
Name | Type | Description |
---|---|---|
region (required) | ContentstackRegion | DB region for your stack. You can choose from six regions namely, NA, EU, Azure NA, Azure EU, GCP NA, and GCP EU. |
import com.contentstack.sdk.*; Config config = new Config(); config.setRegion(ContentstackRegion.EU); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
getHost()
Gets host of the request
import com.contentstack.sdk.*; Config config = new Config(); config.getHost(); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
setHost()
Set custom host of the request url
Name | Type | Description |
---|---|---|
hostname (required) | String | The host |
import com.contentstack.sdk.*; Config config = new Config(); config.sethost(hostname); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
getVersion()
Gets version of the request path
import com.contentstack.sdk.*; Config config = new Config(); config.getVersion(); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
enableLivePreview()
Enables Live Preview
Name | Type | Description |
---|---|---|
enable (required) | Boolean | Provide true to enable the Live Preview |
import com.contentstack.sdk.*; Config config = new Config(); config.enableLivePreview(true); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
setLivePreviewHost()
Sets Host to the Live Preview request url
Name | Type | Description |
---|---|---|
livePreviewHost (required) | String | Host for Live Preview |
import com.contentstack.sdk.*; Config config = new Config(); config.setLivePreviewHost(host); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
setManagementToken()
Adds Management Token to the stack header
Name | Type | Description |
---|---|---|
managementToken (required) | String | The Management Token |
import com.contentstack.sdk.*; Config config = new Config(); config.setManagementToken(managementToken); Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment", config);
Asset
In Contentstack, any files (images, videos, PDFs, audio files, and so on) that you upload get stored in your repository for future use. This repository of uploaded files is called Assets.
These are the keys that can be passed for addParam.
Key | Value | Description |
---|---|---|
include_fallback | boolean | Enter true to include published localized content from the fallback locale when the specified locale lacks published content. |
include_dimension | boolean | Set to true to include the image dimensions (height and width) in the response. Supported image formats include JPG, GIF, PNG, WebP, BMP, TIFF, SVG, and PSD. |
include_branch | boolean | Set to true to include the _branch top-level key in the response. This key indicates the unique ID of the branch where the specified Contentstack module resides. |
version | number | Enter the latest version number. Providing a draft version number will result in an empty response. |
loorelative_urlsb | string | Enter the language code for which you want to include entries. Only published, localized entries will be displayed. |
getUpdatedBy
Gets UpdatedBy object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.getUpdatedBy();
setHeader
Add header using key and value
Name | Type | Description |
---|---|---|
key (required) | String | The key you want to remove from the header |
value (required) | String | Value of the header against the key |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.setHeader("key","value");
removeHeader
Removes header using key
Name | Type | Description |
---|---|---|
headerKey (required) | String | Key of the header you want to remove |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.removeHeader("key");
sort
Sort assets.
Name | Type | Description |
---|---|---|
keyOrderBy (required) | String | the key order by |
orderby (required) | ORDERBY | the orderby can be applied using ORDERBY enums |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset() asset.sort(keyOrderBy, ORDERBY.ASCENDING);
includeCount
Include count of asset.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset() asset.includeCount();
includeRelativeUrl
Include relative url asset.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset() asset.includeRelativeUrl();
includeFallback
Includes Fallback language in the asset response.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.includeFallback();
includeMetadata
Includes asset metadata along with response body.
Stack stack = Contentstack.stack("apiKey", "deliveryToken", environment_name); Asset asset = stack.asset(); asset.includeMetadata();
getCount
Returns list of all assets available in the stack.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset() asset.getCount()
getAssetUid
Gets AssetUid object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.getAssetUid(); } });
getFileType
Gets FileType object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.getFileType(); } });
getFileSize
Gets FileSize object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.getFileSize(); } });
getFileName
Gets FileName object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { String filename = asset.getFileName(); } });
getUrl
Gets getUrl object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { String url = asset.getUrl(); System.out.println(url); } });
toJSON
Gets JSON object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.toJSON(); } });
getCreateAt
Gets CreateAt object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.getCreateAt(); } });
getCreatedBy
Gets CreatedBy object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.getCreatedBy(); } });
getUpdateAt
Gets UpdateAt object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { asset.getUpdateAt(); } });
getDeleteAt
Gets Deleted At object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.getDeleteAt()
getDeletedBy
Gets Deleted by object from the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.getDeletedBy()
getTags
Includes Array of tags in the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.getTags()
setTags
Includes Tags in the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.setTags()
includeDimension
Inludes Dimension in the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.includeDimension();
addParam
Add query parameter to the asset request
These are the keys that can be passed for addParam.
Key | Value |
Description |
---|---|---|
include_fallback |
boolean |
Enter true to include published localized content from the fallback locale when the specified locale lacks published content. |
include_dimension |
boolean |
Set to true to include the image dimensions (height and width) in the response. Supported image formats include JPG, GIF, PNG, WebP, BMP, TIFF, SVG, and PSD. |
include_branch |
boolean |
Set to true to include the _branch top-level key in the response. This key indicates the unique ID of the branch where the specified Contentstack module resides. |
version |
number |
Enter the latest version number. Providing a draft version number will result in an empty response. |
relative_urls |
boolean |
Set 'true' to include the relative URL of the asset in the response |
include_path |
boolean |
Set to true to add a path array to the response, displaying the hierarchical folder structure of the asset or folder. |
Name | Type | Description |
---|---|---|
key (required) | String | Key of the header you want to add |
value (required) | String | Add value to the header against the header key |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); Asset asset = stack.asset(assetUid).addParam();
includeBranch
Includes Branch in the asset response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Asset asset = stack.asset(assetUid); asset.includeBranch();
fetch
Fetch all the assets available in the stack
Name | Type | Description |
---|---|---|
callback (required) | FetchResultCallback | callback of the asset response |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); Asset asset = stack.asset(assetUid); asset.fetch(new FetchResultCallback() { @Override public void onCompletion(ResponseType responseType, Error error) { System.out.print(asset); } }
AssetLibrary
In Contentstack, any files (images, videos, PDFs, audio files, and so on) that you upload get stored in your repository for future use. This repository of uploaded files is called Assets.
sort
The sort method sorts the asset library based on order criteria.
Name | Type | Description |
---|---|---|
keyOrderBy (required) | String | the key order by |
orderby (required) | ORDERBY | the orderby can be applied using ORDERBY enums |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack( apiKey, deliveryToken, environment); AssetLibrary assets = stack.assetLibrary() assets.sort(keyOrderBy, ORDERBY.ASCENDING);
includeCount
The includeCount method includes the total count of assets in the asset library response.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack( apiKey, deliveryToken, environment); AssetLibrary assets = stack.assetLibrary() assets.includeCount();
includeRelativeUrl
The includeRelativeUrl method includes the relative URLs of assets in the asset library response.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack( apiKey, deliveryToken, environment); AssetLibrary assets = stack.assetLibrary() assets.includeRelativeUrl();
includeMetadata
Includes asset metadata along with response body.
Stack stack = Contentstack.stack("apiKey", "deliveryToken", environment_name); AssetLibrary assets = stack.assetLibrary(); assets.includeMetadata();
where
The where() method retrieves the assets from the stack using any other field UID of the assets.
Name | Type | Description |
---|---|---|
field_name (required) | String | Field UID of the Asset |
Value (required) | String | Value of the Asset |
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); AssetLibrary assets = stack.assetLibrary().where("field_name","value"); assets.fetchAll(new FetchAssetsCallback() { @Override public void onCompletion(ResponseType responseType, List<asset> assets, Error error) { System.out.println(assets); } });
addParam
The addParam method adds a query parameter to the query.
Name | Type | Description |
---|---|---|
paramKey (required) | String | Pass the key |
paramValue (required) | Object | Pass the value |
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); AssetLibrary assetLibObject = stack.assetlibrary(); assetLibObject.addParam(paramKey, paramValue);
removeParam
The removeParam method removes a query parameter from the query.
Name | Type | Description |
---|---|---|
paramKey (required) | String | Pass the key to be removed as a param |
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); AssetLibrary assetLibObject = stack.assetlibrary(); assetLibObject.removeParam(paramKey);
limit
The limit method will return a specific number of assets in the output.
Name | Type | Description |
---|---|---|
number (required) | init | Enter the number of assets to be returned. |
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); AssetLibrary assetLibObject = stack.assetlibrary().limit(4);
skip
The skip method will skip a specific number of assets in the output.
Name | Type | Description |
---|---|---|
number (required) | init | Enter the number of assets to be skipped. |
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); AssetLibrary assetLibObject = stack.assetlibrary().skip(4);
Pagination
In a single instance, a query will retrieve only the first 100 items in the response. You can paginate and retrieve the rest of the items in batches using the skip and limit methods.
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack("apiKey", "deliveryToken", "environment"); AssetLibrary assetLibObject = stack.assetlibrary(); int skip = 0, limit = 100; final int[] totalAssetsFetched = {0}; final boolean[] hasMore = {true}; while (hasMore[0]) { assetLibrary.skip(skip).limit(limit).fetchAll(new FetchAssetsCallback() { @Override public void onCompletion(ResponseType responseType, List<Asset> assets, Error error) { if (error != null) { System.err.println("Error: " + error.getErrorMessage()); return; } for (Asset asset : assets) { System.out.println(asset.toJSON()); } totalAssetsFetched[0] += assets.size(); } }); skip += limit; System.out.println("Total assets fetched: " + totalAssetsFetched[0]); if (totalAssetsFetched[0] % limit != 0) { hasMore[0] = false; } }
ContentType
Content type defines the structure or schema of a page or a section of your web or mobile property. To create content for your application, you are required to first create a content type, and then create entries using the content type.
removeHeader
Removes header from the stack using headerKey
Name | Type | Description |
---|---|---|
headerKey (required) | String | The key of the header |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); ContentType contentType = stack.contentType("contentTypeUid"); contentType.removeHeader(headerKey)
entry
An Entry is the actual piece of content created using one of the defined content types.
Name | Type | Description |
---|---|---|
entryUid (required) | String | The entry unique ID of the entry that you want to fetch |
import contentstack; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); ContentType contentType = stack.contentType("contentTypeUid"); Call<ResponseBody> response = contentType.entry("entryUid").execute(); if (response.isSuccessful) { System.out.println(<"Response"> + response) }
query
Provides query instance
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); ContentType contentType = stack.contentType("contentTypeUid"); contentType.query()
fetch
fetch all the content types available for the stack
Name | Type | Description |
---|---|---|
params (required) | JSONObject | key value parameters of type JSONObject |
callback (required) | ContentTypesCallback | The callback of type ContentTypesCallback |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); ContentType contentType = stack.contentType("contentTypeUid"); contentType.fetch(new JSONObject(), new ContentTypesCallback() { @Override public void onCompletion(ContentTypesModel model, Error error) { JSONArray resp = model.getResultArray(); } });
Entry
An entry is the actual piece of content created using one of the defined content types.
removeHeader
Removes header using key
Name | Type | Description |
---|---|---|
key | String | key of the header you want to remove |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); Entry entry = entry.removeHeader(key)
getTags
Gets entry tags
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); Entry entry = entry. ()
getContentType
Gets entry content type
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); Entry entry = entry.getContentType()
getUid
Gets entry uid
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); Entry entry = entry.getUid()
getLocale
Gets Language of the entry
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); Entry entry = entry.getLocale();
setLocale
Sets locale of entry
Name | Type | Description |
---|---|---|
locale (required) | String | language code |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); Entry entry = entry.setLocale();
except
Specifies list of field uids that would be excluded from the response
Name | Type | Description |
---|---|---|
referenceField (required) | String | field uid which get excluded from the response. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.except(new String[]{"name", "description"});
includeReference
Add a constraint that requires a particular reference key details.
Name | Type | Description |
---|---|---|
referenceFields (required) | String[] | referenceFields array key that to be constrained |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.includeReference(new String[]{"referenceUid_A", "referenceUid_B"});
only
Specifies an array of only keys in BASE object that would be included in the response
Name | Type | Description |
---|---|---|
fieldUid (required) | ArrayList<String> | Array of the only reference keys to be included in response |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.only(new String[]{"name", "description"});
onlyWithReferenceUid
Specifies an array of only keys that would be included in the response.
Name | Type | Description |
---|---|---|
fieldUid (required) | ArrayList<String> | Array of the only reference keys to be included in response. |
referenceFieldUid (required) | String | Key who has reference to some other class object |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); ArrayList<String> array = new ArrayList<String>(); array.add("description"); array.add("name"); entry.onlyWithReferenceUid(array, "referenceUid");
exceptWithReferenceUid()
Specifies an array of except keys that would be exclude in the response
Name | Type | Description |
---|---|---|
fieldUid (required) | ArrayList<String> | Array of the except reference keys to be excluded in response |
referenceFieldUid (required) | String | Key who has reference to some other class object |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry. () ArrayList<String> array = new ArrayList<String>();
fetch
fetch is used to get the entry response
Name | Type | Description |
---|---|---|
callback (required) | EntryResultCallBack | EntryResultCallBack object to notify the application when the request has completed |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.fetch(new EntryResultCallBack() { @Override public void onCompletion(ResponseType responseType, Error error) { } });}
addParam
Adds query parameters in the entry request
These are the keys that can be passed for addParam.
Key | Value | Description |
---|---|---|
include_fallback | boolean | Enter true to include published localized content from the fallback locale when the specified locale lacks published content. |
locale | string | Enter the language code for which you want to include entries. Only published, localized entries will be displayed. |
include_branch | boolean | Set to true to include the _branch top-level key in the response. This key indicates the unique ID of the branch where the specified Contentstack module resides. |
version | number | Enter the latest version number. Providing a draft version number will result in an empty response. |
Name | Type | Description |
---|---|---|
key (required) | String | key of the header |
value (required) | String | value of the header |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.addParam(key, value)
includeReferenceContentTypeUID
Include Reference ContentType UID in the entry response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.includeReferenceContentTypeUID()
includeContentType
Include ContentType in the entry response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.includeContentType()
includeFallback
Include Fallback Language in the entry response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.includeFallback()
includeEmbeddedItems
Include Embedded Items in the entry response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("contentType").entry("entryUid"); entry.includeEmbeddedItems()
includeBranch
include branch in the entry response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack.contentType("user").entry("entryUid"); entry.includeBranch();
includeMetadata
Includes entry metadata along with response body.
Stack stack = Contentstack.stack("apiKey", "deliveryToken", environment_name); Entry entry = stack.contentType("contentTypeUid").entry("entryUid") entry.includeMetadata();
variants
The variants method retrieves details of a specific entry variant or an array of entry variants based on the applied query.
When Personalize creates a variant in the CMS, it assigns a "Variant Alias" to identify that specific variant. When fetching entry variants using the Delivery API, you can pass variant aliases in place of variant UIDs in the x-cs-variant-uidheader.
Name | Type | Description |
---|---|---|
variantUid/variantAlias (required) | string / string[] | Enter the UID/Alias of the variant |
Example 1:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack .contentType("contentType") .entry("entryUid") .variants("variantUid/variantAlias"); entry.fetch(new EntryResultCallBack() { @Override public void onCompletion(ResponseType responseType, Error error) { System.out.println(entry.toJSON()); } });
Example 2:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); final Entry entry = stack .contentType("contentType") .entry("entryUid") .variants(new String[]{"variantUid1/variantAlias1","variantUid2/variantAlias2"}); entry.fetch(new EntryResultCallBack() { @Override public void onCompletion(ResponseType responseType, Error error) { System.out.println(entry.toJSON()); } });
Taxonomy
Taxonomy helps you categorize pieces of content within your stack to facilitate easy navigation and retrieval of information.
To access the taxonomy instance, use the code snippet provided below within the stack class:
Stack stack = Contentstack.stack("API_KEY", "DELIVERY_TOKEN", "ENVIRONMENT"); Taxonomy taxonomy = stack.taxonomy();
in
The in method retrieves all entries for a specific taxonomy that satisfy the given conditions provided in the $in query.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
listOfItems | list<string> | Enter the list of taxonomy fields |
Example: If you want to retrieve entries with the color taxonomy applied and linked to the terms red and/or yellow.
Taxonomy taxonomy = stack.taxonomy();List listOfItems = new ArrayList<>(); listOfItems.add("red"); listOfItems.add("yellow"); taxonomy.in("taxonomies.color", listOfItems).find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
or
The or method retrieves all entries for a specific taxonomy that satisfy at least one of the given conditions provided in the $or query.
Name | Type | Description |
---|---|---|
listOfItems | list<JSONObject> | Enter the list of taxonomy fields |
Example: If you want to retrieve entries with either the color or size taxonomy applied and linked to the terms yellow and small, respectively.
Taxonomy taxonomy = stack.taxonomy(); List<jsonobject>listOfItems = new ArrayList<>(); JSONObject item1 = new JSONObject(); item1.put("taxonomies.color", "yellow"); JSONObject item2 = new JSONObject(); item2.put("taxonomies.size", "small"); listOfItems.add(item1); listOfItems.add(item2); taxonomy.or(listOfItems); taxonomy.find((response, error) -> { if (error!=null){ System.out.println("response :"+response); } });
and
The and method retrieves all entries for a specific taxonomy that satisfy all the conditions provided in the $and query.
Name | Type | Description |
---|---|---|
listOfItems | list<JSONObject> | Enter the list of taxonomy fields |
Example: If you want to retrieve entries with the color and computers taxonomies applied and linked to the terms red and laptop, respectively.
Taxonomy taxonomy = stack.taxonomy(); List<jsonobject>listOfItems = new ArrayList<>(); JSONObject items1 = new JSONObject(); items1.put("taxonomies.color", "green"); JSONObject items2 = new JSONObject(); items2.put("taxonomies.computers", "laptop"); listOfItems.add(items1); listOfItems.add(items2); taxonomy.and(listOfItems); taxonomy.find((response, error) -> { if (error!=null){ System.out.println("response :"+response); } });
exists
The exists method retrieves all entries for a specific taxonomy if the value of the field, mentioned in the condition, exists.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
value (required) | boolean | Enter true/false |
Example: If you want to retrieve entries with the color taxonomy applied.
Taxonomy taxonomy = stack.taxonomy().exists("taxonomies.color", true); taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
equalAndBelow
The equalAndBelow method retrieves all entries for a specific taxonomy that match a specific term and all its descendant terms, requiring only the target term.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
termsUid (required) | string | Enter the UID of the term |
Example: If you want to retrieve all entries with terms nested under blue, such as navy blue and sky blue, while also matching entries with the target term blue.
Taxonomy taxonomy = stack.taxonomy().equalAndBelow("taxonomies.color", "blue"); taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
equalAndBelowWithLevel
The equalAndBelowWithLevel method retrieves all entries for a specific taxonomy that match a specific term and all its descendant terms, requiring only the target term and a specified level.
Note: If you don't specify the level, the default behavior is to retrieve terms up to level 10.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
termsUid (required) | string | Enter the UID of the term |
level | int | Enter the level |
Example: If you want to retrieve all entries until level 2 with terms nested under blue, such as navy blue and sky blue, while also matching entries with the target term blue.
Taxonomy taxonomy = stack.taxonomy().equalAndBelowWithLevel("taxonomies.color", "blue", 3); taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
below
The below method retrieves all entries for a specific taxonomy that match all of their descendant terms by specifying only the target term and a specific level.
Note: If you don't specify the level, the default behavior is to retrieve terms up to level 10.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
termsUid (required) | string | Enter the UID of the term |
Example: If you want to retrieve all entries containing terms nested under blue, such as navy blue and sky blue, but exclude entries that solely have the target term blue.
Taxonomy taxonomy = stack.taxonomy().below("taxonomies.appliances", "led"); taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
equalAbove
The equalAbove method retrieves all entries for a specific taxonomy that match a specific term and all its ancestor terms, requiring only the target term and a specified level.
Note: If you don't specify the level, the default behavior is to retrieve terms up to level 10.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
termsUid (required) | string | Enter the UID of the term |
Example: If you want to obtain all entries that include the term LED and its parent term TV.
Taxonomy taxonomy = stack.taxonomy().equalAbove("taxonomies.appliances", "led"); taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
above
The above method retrieves all entries for a specific taxonomy that match only the parent term(s) of a specified target term, excluding the target term itself and a specified level.
Note: If you don't specify the level, the default behavior is to retrieve terms up to level 10.
Name | Type | Description |
---|---|---|
taxonomy (required) | string | Enter the UID of the taxonomy |
termsUid (required) | string | Enter the UID of the term |
Example: If you wish to match entries with the term tv but exclude the target term led.
Taxonomy taxonomy = stack.taxonomy().above("taxonomies.appliances", "led"); taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
find
The find method is used to get the API response.
Name | Type | Description |
---|---|---|
callback (required) | TaxonomyCallback | The callback class that contains the API response |
Example:
taxonomy.find(new TaxonomyCallback() { @Override public void onResponse(JSONObject response, Error error) { if (error!=null){ System.out.println("response :"+response); } } });
Query
The Get all entries request fetches the list of all the entries of a particular content type. It returns the content of each entry in JSON format. You need to specify the environment and locale of which you want to get the entries. We can apply filters on query also.
removeHeader
Remove header key
Name | Type | Description |
---|---|---|
key (required) | String | key of the header you want to remove |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.removeHeader(key)
getContentType
Gets the content type
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.getContentType()
where
Add a constraint to fetch all entries that contains given value against specified key
Name | Type | Description |
---|---|---|
key (required) | String | key of query parameter |
value (required) | Object | value of query param |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.where("uid", "entry_uid");
addQuery
Add a custom query against specified key.
Name | Type | Description |
---|---|---|
key (required) | String | key of query parameter |
value (required) | String | value of query param |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.addQuery("key", "value");
removeQuery
Remove provided query key from custom query if exist.
Name | Type | Description |
---|---|---|
key (required) | String | Query name to remove. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.removeQuery(key);
and
Combines all the queries together using AND operator
Name | Type | Description |
---|---|---|
queryObjects (required) | ArrayList<Query> | List of Query instances on which AND query executes. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.lessThan("due_date", "2013-06-25T00:00:00+05:30"); Query query = projectClass.query(); query.where('username','something'); Query subQuery = projectClass.query(); subQuery.where('email_address','[email protected]'); ArrayList<Query> array = new ArrayList<Query>(); array.add(query); array.add(subQuery); query.and(array);
or
Add a constraint to fetch all entries which satisfy any queries.
Name | Type | Description |
---|---|---|
queryObjects (required) | ArrayList<Query> | the value that provides an upper bound |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.lessThan("due_date", "2013-06-25T00:00:00+05:30"); Query query = projectClass.query(); query.where('username','something'); Query subQuery = projectClass.query(); subQuery.where('email_address','[email protected]'); ArrayList<Query> array = new ArrayList<Query>(); array.add(query); array.add(subQuery); query.or(array);
lessThan
Add a constraint to the query that requires a particular key entry to be less than the provided value.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object | the value that provides an upper bound |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.lessThan("due_date", "2013-06-25T00:00:00+05:30");
lessThanOrEqualTo
Add a constraint to the query that requires a particular key entry to be less than or equal to the provided value
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object | The value that must be equalled. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.lessThanOrEqualTo("due_date", "2013-06-25T00:00:00+05:30");
greaterThan
Add a constraint to the query that requires a particular key entry to be greater than the provided value.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object | The value that provides an lower bound. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.greaterThan("due_date", "2013-06-25T00:00:00+05:30");
greaterThanOrEqualTo
Add a constraint to the query that requires a particular key entry to be greater than or equal to the provided value.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object | The list of values the key object should not be. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.greaterThanOrEqualTo("due_date", "2013-06-25T00:00:00+05:30");
notEqualTo
Add a constraint to the query that requires a particular key's entry to be contained in the provided array
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object | The list of values the key object should not be. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.notEqualTo("due_date", "2013-06-25T00:00:00+05:30");
notContainedIn
Add a constraint to the query that requires a particular key's entry to be contained in the provided array
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object[] | The list of values the key object should not be. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.containedIn("severity", new Object[] { "Show Stopper", "Critical" });
notContainedIn
Add a constraint to the query that requires a particular key entry's value not be contained in the provided array.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
values (required) | Object[] | The list of values the key object should not be. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.notContainedIn("severity", new Object[] { "Show Stopper", "Critical" });
exists
Add a constraint that requires, a specified key exists in response
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.exists("status");
notExists
Add a constraint that requires, a specified key does not exists in response.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.notExists("status");
includeReference
Add a constraint that requires a particular reference key details
Name | Type | Description |
---|---|---|
key (required) | String | key that to be constraineda |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.includeReference(key);
tags
Include tags with which to search entries
Name | Type | Description |
---|---|---|
key (required) | String[] | Comma separated array of tags with which to search entries. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.tags(new String[] { "tag1", "tag2" });
ascending
Sort the results in ascending order with the given key. <br> Sort the returned entries in ascending order of the provided key.
Name | Type | Description |
---|---|---|
key (required) | String | The key to order by. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.ascending(key);
descending
Sort the results in descending order with the given key. <br> Sort the returned entries in descending order of the provided key.
Name | Type | Description |
---|---|---|
key (required) | String | The key to order by. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.descending(key);
only
Specifies an array of only keys in BASE object that would be included in the response.
Name | Type | Description |
---|---|---|
fieldUid (required) | String[] |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query();
exceptWithReferenceUid
Specifies an array of only keys that would be included in the response
Name | Type | Description |
---|---|---|
fieldUid (required) | ArrayList<String> | Array of the only reference keys to be included in response |
referenceFieldUid (required) | String | Key who has reference to some other class object |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); ArrayList<String> array = new ArrayList<String>(); array.add("description"); query.onlyWithReferenceUid(array, "for_bug");
exceptWithReferenceUid
Specifies an array of except keys that would be excluded in the response.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); ArrayList<String> array = new ArrayList<String>(); array.add("description"); query.exceptWithReferenceUid(array, "for_bug");
count
Retrieve count and data of objects in result
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.count();
includeCount
Retrieve count and data of objects in result
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.includeCount();
includeContentType
Include Content Type of all returned objects along with objects themselves
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.includeContentType();
includeOwner
Include object owner's profile in the objects data.
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query. ()
skip
The number of objects to skip before returning any.
Name | Type | Description |
---|---|---|
number (required) | int | Number of objects to skip from returned objects |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.skip(3)
limit
A limit on the number of objects to return.
Name | Type | Description |
---|---|---|
number (required) | int | Number of objects to limit. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); csQuery.limit(3)
regex
Add a regular expression constraint for finding string values that match the provided regular expression. This may be slow for large data sets.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained. |
regex (required) | String | The regular expression pattern to match |
modifiers | Any of the following supported Regular expression modifiers. - use i for case-insensitive matching. - use m for making dot match newlines. - use x for ignoring whitespace in regex |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); csQuery.regex("name", "^browser", "i");
locale
Set Language using locale code.
Name | Type | Description |
---|---|---|
locale (required) | String | language code |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.locale("locale-code");
search
This method provides only the entries matching the specified value.
Name | Type | Description |
---|---|---|
value (required) | String | value used to match or compare |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.search("header");
find
Execute a Query and Caches its result (Optional)
Name | Type | Description |
---|---|---|
callBack (required) | QueryResultsCallBack | QueryResultsCallBack object to notify the application when the request has completed. |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.find(new QueryResultsCallBack() { @Override public void onCompletion(ResponseType responseType, QueryResult queryResult, Error error) { } });
findOne
This Execute a Query and Caches its result (Optional)
Name | Type | Description |
---|---|---|
callBack (required) | SingleQueryResultCallback | The key as string which needs to be added to the Query |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); @ } });
addParam
This method adds key and value to an Entry. Parameters
Name | Type | Description |
---|---|---|
paramKey (required) | String | The key as string which needs to be added to the Query |
paramValue (required) | String | The value as string which needs to be added to the Query |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.addParam(key, value);
includeReferenceContentTypUid
This method also includes the content type UIDs of the referenced entries returned in the response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); csQuery.includeReferenceContentTypUid()
whereNotIn
Get entries having values based on referenced fields. This query retrieves all entries that satisfy the query conditions made on referenced fields.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
queryObject (required) | Query | queryObject is Query object, so you can chain this call |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.whereIn("due_date", <span>query</span>);
whereNotIn
Get entries having values based on referenced fields. This query works the opposite of $in_query and retrieves all entries that does not satisfy query conditions made on referenced fields.
Name | Type | Description |
---|---|---|
key (required) | String | The key to be constrained |
queryObject (required) | Query | Query object, so you can chain this call |
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.whereNotIn("due_date", );
includeFallback
Includes language fallback in the query response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.includeFallback();
includeEmbeddedItems
Includes Embedded Items in the query response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query(); query.includeEmbeddedItems();
includeBranch
Includes Branch in the entry response
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); Query query = stack.contentType("contentTypeUid").query();
Global Fields
A Global field is a reusable field (or group of fields) that you can define once and reuse in any content type within your stack. This eliminates the need (and thereby time and efforts) to create the same set of fields repeatedly in multiple content types.
fetch
The fetch method retrieves the global field data of the specified global field.
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); GlobalField globalField = stack.globalField("globalfields_uid"); globalField.fetch(new GlobalFieldsCallback() { @Override public void onCompletion(GlobalFieldsModel model, Error error) { JSONArray resp = model.getResultArray(); Assertions.assertTrue(resp.isEmpty()); } });
findAll
The findAll method retrieves all the global fields of the stack.
Example:
GlobalField globalField = stack.globalField(); globalField.findAll(new GlobalFieldsCallback() { @Override public void onCompletion(GlobalFieldsModel globalFieldsModel, Error error) { assertTrue(globalFieldsModel.getResultArray() instanceof JSONArray); assertNotNull(((JSONArray) globalFieldsModel.getResponse()).length()); } });
includeBranch
The includeBranch method includes the branch details in the result for single or multiple global fields.
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); GlobalField globalField = stack.globalField().includeBranch();
includeGlobalFieldSchema
The includeGlobalFieldSchema method includes the schema of the global field in the response.
Example:
import com.contentstack.sdk.*; Stack stack = Contentstack.stack(apiKey, deliveryToken, environment); GlobalField globalField = stack.globalField().includeGlobalFieldSchema();
- All users can retrieve information about Global fields, regardless of their role or access level.
- If a Global field includes nested Global fields, the API response will return them as part of the overall schema.