Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/* *********************************************************************
* This Original Work is copyright of 51 Degrees Mobile Experts Limited.
* Copyright 2023 51 Degrees Mobile Experts Limited, Davidson House,
* Forbury Square, Reading, Berkshire, United Kingdom RG1 3EU.
*
* This Original Work is licensed under the European Union Public Licence
* (EUPL) v.1.2 and is subject to its terms as set out below.
*
* If a copy of the EUPL was not distributed with this file, You can obtain
* one at https://opensource.org/licenses/EUPL-1.2.
*
* The 'Compatible Licences' set out in the Appendix to the EUPL (as may be
* amended by the European Commission) shall be deemed incompatible for
* the purposes of the Work and the provisions of the compatibility
* clause in Article 5 of the EUPL shall not apply.
*
* If using the Work as, or as part of, a network application, by
* including the attribution notice(s) required under Article 5 of the EUPL
* in the end user terms of the application under an appropriate heading,
* such notice(s) shall fulfill the requirements of that article.
* ********************************************************************* */
/* *********************************************************************
* This code is auto generated by 51Degrees using the most up to data
* at the time of release, and should not be changed directly.
* **********************************************************************/
package fiftyone.devicedetection.shared;
import fiftyone.pipeline.core.data.types.JavaScript;
import fiftyone.pipeline.engines.data.AspectData;
import fiftyone.pipeline.engines.data.AspectPropertyValue;
import java.util.List;
// This interface sits at the top of the name space in order to make
// life easier for consumers.
/**
* Interface exposing typed accessors for properties related to a device
* returned by a device detection engine.
*/
public interface DeviceData extends AspectData
{
/**
* Indicates what ajax request format should be used.
*/
AspectPropertyValue getAjaxRequestType();
/**
* Indicates if the browser supports 'window.requestAnimationFrame()' method.
*/
AspectPropertyValue getAnimationTiming();
/**
* Indicates the resolution of the device's back camera in megapixels. For a device that has a rotating camera the same value is returned for front and back megapixels properties.
*/
AspectPropertyValue getBackCameraMegaPixels();
/**
* Indicates the capacity of the device's standard battery in mAh. This property is not applicable for a device that does not have a battery.
*/
AspectPropertyValue getBatteryCapacity();
/**
* Indicates the number of bits used to describe the colour of each individual pixel, also known as bit depth or colour depth.
*/
AspectPropertyValue getBitsPerPixel();
/**
* Indicates if the browser fully supports BlobBuilder, containing a BlobBuilder interface, a FileSaver interface, a FileWriter interface, and a FileWriterSync interface.
*/
AspectPropertyValue getBlobBuilder();
/**
* Refers to the list of audio codecs in specific formats supported for Decode by the Web Browser. This list of codecs is supported for playback on a basic browser installation.
*/
AspectPropertyValue> getBrowserAudioCodecsDecode();
/**
* Refers to the list of audio codecs in specific formats supported for Encode by the Web Browser. This list of codecs is supported for capture on a basic browser installation.
*/
AspectPropertyValue> getBrowserAudioCodecsEncode();
/**
* Indicates the age in months of the browser since the BrowserDiscontinuedYear and BrowserDiscontinuedMonth.
*/
AspectPropertyValue getBrowserDiscontinuedAge();
/**
* The month in which further development of the browser version is stopped by the browser vendor. This occurs when a new stable version of the browser is released.
*/
AspectPropertyValue getBrowserDiscontinuedMonth();
/**
* The year in which further development of the browser version is stopped by the browser vendor. This occurs when a new stable version of the browser is released.
*/
AspectPropertyValue getBrowserDiscontinuedYear();
/**
* Indicates the name of the browser without the default OS or layout engine.
*/
AspectPropertyValue getBrowserFamily();
/**
* A list of logos associated with the Browser. The string contains the caption, followed by the full image URL separated with a tab character.
*/
AspectPropertyValue> getBrowserLogos();
/**
* Indicates the name of the browser. Many mobile browsers, by default, come with an operating system (OS). Unless specifically named, these browsers are named after the accompanying OS and/or the layout engine.
*/
AspectPropertyValue getBrowserName();
/**
* Indicates the age in months of the browser since the BrowserPreviewYear and BrowserPreviewMonth.
*/
AspectPropertyValue getBrowserPreviewAge();
/**
* The month in which the browser version is originally released as a Beta/Developer version by the browser vendor. This is before it is officially released as a stable version, to ensure wider testing by the community can take place.
*/
AspectPropertyValue getBrowserPreviewMonth();
/**
* The year in which the browser version is originally released as a Beta/Developer version by the browser vendor. This is before it is officially released as a stable version, to ensure wider testing by the community can take place.
*/
AspectPropertyValue getBrowserPreviewYear();
/**
* Indicates the source from which browser properties have been validated. Primary browser data are retrieved from the internal test and populated manually, then they might be validated against an external source such as Caniuse or RingMark.
*/
AspectPropertyValue getBrowserPropertySource();
/**
* A measure of the popularity of this browser version. All browsers are ordered by the number of events associated with that browser that occurred in the sampling period. The browser with the most events is ranked 1, the second 2 and so on.
*/
AspectPropertyValue getBrowserRank();
/**
* Indicates the age in months of the browser since the BrowserReleaseYear and BrowserReleaseMonth.
*/
AspectPropertyValue getBrowserReleaseAge();
/**
* The month in which the browser version is officially released to users by the browser vendor. This version is called the stable version as any bugs or difficulties highlighted in the Beta/Developer Version will have been fixed for this release.
*/
AspectPropertyValue getBrowserReleaseMonth();
/**
* The year in which the browser version is officially released to users by the browser vendor. This version is called the stable version as any bugs or difficulties highlighted in the Beta/Developer Version will have been fixed for this release.
*/
AspectPropertyValue getBrowserReleaseYear();
/**
* Name of the underlying browser source project.
*/
AspectPropertyValue getBrowserSourceProject();
/**
* Indicates the version or subversion of the underlying browser source project.
*/
AspectPropertyValue getBrowserSourceProjectVersion();
/**
* Indicates if the browser supports the experimental Privacy Sandbox API proposals from Google.
*/
AspectPropertyValue getBrowserSupportsPrivacySandbox();
/**
* Indicates the name of the company which created the browser.
*/
AspectPropertyValue getBrowserVendor();
/**
* Indicates the version or subversion of the browser.
*/
AspectPropertyValue getBrowserVersion();
/**
* Refers to the list of video codecs in specific formats supported for Decode by the Web Browser. This list of codecs is supported for playback on a basic browser installation.
*/
AspectPropertyValue> getBrowserVideoCodecsDecode();
/**
* Refers to the list of video codecs in specific formats supported for Encode by the Web Browser. This list of codecs is supported for capture on a basic browser installation.
*/
AspectPropertyValue> getBrowserVideoCodecsEncode();
/**
* Indicates the list of camera types the device has. If the device has a rotating camera, this property refers to both front and back facing cameras.
*/
AspectPropertyValue> getCameraTypes();
/**
* Indicates if the browser supports the canvas element, useful for drawing graphics via scripting (usually JavaScript).
*/
AspectPropertyValue getCanvas();
/**
* Stands for Composite Capability/Preference Profiles. Refers to the list of MIME types supported by the operating system. The list does not include MIME types that are only enabled through the use of 3rd party applications.
*/
AspectPropertyValue> getCcppAccept();
/**
* Indicates which version of the Connected Limited Device Configuration the device supports for use with Java ME.
*/
AspectPropertyValue getCLDC();
/**
* Indicates the contrast ratio of the device.
*/
AspectPropertyValue getContrastRatio();
/**
* Indicates if the browser supports http Cookies. However, the user may have disabled Cookies in their own configuration. Where data cannot be validated, it is assumed that the browser supports cookies.
*/
AspectPropertyValue getCookiesCapable();
/**
* Indicates the official name of the CPU within the SoC, e.g. ARM Cortex A9 or Krait (Qualcomm).
*/
AspectPropertyValue getCPU();
/**
* Indicates the number of physical CPU cores the device has.
*/
AspectPropertyValue getCPUCores();
/**
* Indicates the Semiconductor Company that designed the CPU.
*/
AspectPropertyValue getCPUDesigner();
/**
* Indicates the maximum frequency of the CPU of the device in gigahertz (GHz).
*/
AspectPropertyValue getCPUMaximumFrequency();
/**
* Indicates the crawler name when applicable. Returns NotCrawler when the device is not a crawler.
*/
AspectPropertyValue getCrawlerName();
/**
* Indicates if the browser supports CSS3 background properties (such as background-image, background-color, etc.) that allow styling of the border and the background of an object, and create a shadow effect.
*/
AspectPropertyValue getCssBackground();
/**
* Indicates if the browser supports border images, allowing decoration of the border around an object.
*/
AspectPropertyValue getCssBorderImage();
/**
* Indicates if the browser can draw CSS images into a Canvas.
*/
AspectPropertyValue getCssCanvas();
/**
* Indicates if the browser supports CSS3 Color, allowing author control of the foreground colour and opacity of an element.
*/
AspectPropertyValue getCssColor();
/**
* Indicates if the browser supports CSS3 columns for setting column- width and column-count.
*/
AspectPropertyValue getCssColumn();
/**
* Indicates if the browser supports flexbox, allowing the automatic reordering of elements on the page when accessed from devices with different screen sizes.
*/
AspectPropertyValue getCssFlexbox();
/**
* Indicates if the browser supports CSS3 fonts, including non-standard fonts, e.g. @font-face.
*/
AspectPropertyValue getCssFont();
/**
* Indicates if the browser supports all CSS grid properties.
*/
AspectPropertyValue getCssGrid();
/**
* Indicates if the browser supports CSS3 images, allowing for fall-back images, gradients and other effects.
*/
AspectPropertyValue getCssImages();
/**
* Indicates if the browser supports MediaQueries for dynamic CSS that uses the @media rule.
*/
AspectPropertyValue getCssMediaQueries();
/**
* Indicates if the browser supports the CSS 'min-width' and 'max-width' element.
*/
AspectPropertyValue getCssMinMax();
/**
* Indicates if the browser supports overflowing of clipped blocks.
*/
AspectPropertyValue getCssOverflow();
/**
* Indicates if the browser supports CSS position, allowing for different box placement algorithms, e.g. static, relative, absolute, fixed and initial.
*/
AspectPropertyValue getCssPosition();
/**
* Indicates if the browser supports all CSS3 text features including: text-overflow, word-wrap and word-break.
*/
AspectPropertyValue getCssText();
/**
* Indicates if the browser supports 2D transformations in CSS3 including rotating, scaling, etc. This property includes support for both transform and transform-origin properties.
*/
AspectPropertyValue getCssTransforms();
/**
* Indicates if the browser supports CSS3 transitions elements, used for animating changes to properties.
*/
AspectPropertyValue getCssTransitions();
/**
* Indicates if the browser supports CSS UI stylings, including text-overflow, css3-boxsizing and pointer properties.
*/
AspectPropertyValue getCssUI();
/**
* Indicates if the browser has the ability to embed custom data attributes on all HTML elements using the 'data-' prefix.
*/
AspectPropertyValue getDataSet();
/**
* Indicates if the browser allows encoded data to be contained in a URL.
*/
AspectPropertyValue getDataUrl();
/**
* Indicates what certifications apply to this device.
*/
AspectPropertyValue> getDeviceCertifications();
/**
* Consists of four components separated by a hyphen symbol: Hardware-Platform-Browser-IsCrawler where each Component represents an ID of the corresponding Profile.
*/
AspectPropertyValue getDeviceId();
/**
* Indicates if the browser supports DOM events for device orientation, e.g. 'deviceorientation', 'devicemotion' and 'compassneedscalibration'.
*/
AspectPropertyValue getDeviceOrientation();
/**
* Indicates the maximum volatile RAM capacity of the device in megabytes (MB). Where a device has different RAM capacity options, the largest option available is returned.
*/
AspectPropertyValue getDeviceRAM();
/**
* Indicates the volatile RAM capacity options for the device in megabytes (MB). If no variants are found, then the value returned will be the same as "DeviceRAM".
*/
AspectPropertyValue> getDeviceRAMVariants();
/**
* Indicates the type of the device based on values set in other properties, such as IsMobile, IsTablet, IsSmartphone, IsSmallScreen etc.
*/
AspectPropertyValue getDeviceType();
/**
* Used when detection method is not Exact or None. This is an integer value and the larger the value the less confident the detector is in this result.
*/
AspectPropertyValue getDifference();
/**
* Total difference in character positions where the substrings hashes were found away from where they were expected.
*/
AspectPropertyValue getDrift();
/**
* Indicates the device's Ingress Protection Rating against dust and water (http://en.wikipedia.org/wiki/IP_Code).
*/
AspectPropertyValue> getDurability();
/**
* Indicates the dynamic contrast ratio of the device's screen.
*/
AspectPropertyValue getDynamicContrastRatio();
/**
* Indicates the annual energy consumption of the device per year in kWh.
*/
AspectPropertyValue getEnergyConsumptionPerYear();
/**
* Indicates the maximum amount of memory in gigabytes (GB) the expansion slot of the device can support.
*/
AspectPropertyValue getExpansionSlotMaxSize();
/**
* Indicates the expansion slot type the device can support.
*/
AspectPropertyValue> getExpansionSlotType();
/**
* Indicates if the browser supports the Fetch API.
*/
AspectPropertyValue getFetch();
/**
* Indicates if the browser supports file reading with events to show progress and errors.
*/
AspectPropertyValue getFileReader();
/**
* Indicates if the browser allows Blobs to be saved to client machines with events to show progress and errors. The End-User may opt to decline these files.
*/
AspectPropertyValue getFileSaver();
/**
* Indicates if the browser allows files to be saved to client machines with events to show progress and errors. The End-User may opt to decline these files.
*/
AspectPropertyValue getFileWriter();
/**
* Indicates if the browser supports the 'FormData' object. This property also refers to XMLHttpRequest. If the browser supports 'xhr2', the 'FormData' element will be also supported.
*/
AspectPropertyValue getFormData();
/**
* Indicates the list of frequency bands supported by the device.
*/
AspectPropertyValue> getFrequencyBands();
/**
* Indicates the resolution of the device's front camera in megapixels. For a device that has a rotating camera the same value is returned for front and back megapixels' properties.
*/
AspectPropertyValue getFrontCameraMegaPixels();
/**
* Indicates if the browser supports requests from a video or canvas element to be displayed in full-screen mode.
*/
AspectPropertyValue getFullscreen();
/**
* Indicates if the browser supports a feature to acquire the geographical location. For information on which GeoLoc API the browser supports, refer to another property called JavaScriptPreferredGeoLocApi.
*/
AspectPropertyValue getGeoLocation();
/**
* Indicates the official name of the graphical chip within the SoC.
*/
AspectPropertyValue getGPU();
/**
* Indicates the Semiconductor Company that designed the GPU.
*/
AspectPropertyValue getGPUDesigner();
/**
* Refers to the list of audio codecs supported for decoding by a Chipset. An audio codec is a program used to playback digital audio files. The values of this property are the codec's common name.
*/
AspectPropertyValue> getHardwareAudioCodecsDecode();
/**
* Refers to the list of audio codecs supported for encoding by a Chipset. An audio codec is a program used to capture digital audio files. The values of this property are the codec's common name.
*/
AspectPropertyValue> getHardwareAudioCodecsEncode();
/**
* Indicates the carrier when the device is sold by the HardwareVendor on a single carrier or as indicated via device User-Agent.
*/
AspectPropertyValue getHardwareCarrier();
/**
* Indicates the name of a group of devices that only differ by model or region but are marketed under the same name, e.g. Galaxy Tab S 10.5.
*/
AspectPropertyValue getHardwareFamily();
/**
* A list of images associated with the device. The string contains the caption, followed by the full image URL separated with a tab character.
*/
AspectPropertyValue> getHardwareImages();
/**
* Indicates the model name or number used primarily by the hardware vendor to identify the device, e.g.SM-T805S. When a model identifier is not available the HardwareName will be used.
*/
AspectPropertyValue getHardwareModel();
/**
* Indicates all model numbers used by the hardware vendor to identify the device. This property compliments 'HardwareModel', e.g. Hardware Model Variants A1660 and A1778 correlate to the Hardware Model - iPhone 7.
*/
AspectPropertyValue> getHardwareModelVariants();
/**
* Indicates the common marketing names associated with the device, e.g. Xperia Z5.
*/
AspectPropertyValue> getHardwareName();
/**
* Indicates the source of the profile's specifications. This property will return 'Manufacturer' value if the profile data was obtained from the manufacturer of the device or the device itself. This property will return 'Authoritative' value if the profile data was not obtained from the manufacturer or the device itself but other third party sources (this may include retailers, social media, carriers, etc). This property will return 'Legacy' value if the profile data was obtained prior to 51degrees differentiating between Manufacturer and Authoritative. This property will return 'N/A' value if the profile data was not obtained due to unidentifiable User-Agent. The example profiles are: Generic Android Unknown, Unknown Tablet, etc.
*/
AspectPropertyValue getHardwareProfileSource();
/**
* A measure of the popularity of this device model. All models are ordered by the number of events associated with that model that occurred in the sampling period. The device with the most events is ranked 1, the second 2 and so on.
*/
AspectPropertyValue getHardwareRank();
/**
* Indicates the name of the company that manufactures the device or primarily sells it, e.g. Samsung.
*/
AspectPropertyValue getHardwareVendor();
/**
* Refers to the list of video codecs supported for decoding by a Chipset. An video codec is a program used to playback digital video files. The values of this property are the codec's common name.
*/
AspectPropertyValue> getHardwareVideoCodecsDecode();
/**
* Refers to the list of video codecs supported for encoding by a Chipset. An video codec is a program used to capture digital video files. The values of this property are the codec's common name.
*/
AspectPropertyValue> getHardwareVideoCodecsEncode();
/**
* Indicates if the device has a camera capable of taking 3D images.
*/
AspectPropertyValue getHas3DCamera();
/**
* Indicates if the device has a screen capable of displaying 3D images.
*/
AspectPropertyValue getHas3DScreen();
/**
* Indicates if the device has a camera.
*/
AspectPropertyValue getHasCamera();
/**
* Indicates if the device has a click wheel such as found on Apple iPod devices.
*/
AspectPropertyValue getHasClickWheel();
/**
* Indicates if the device has a physical numeric keypad.
*/
AspectPropertyValue getHasKeypad();
/**
* Indicates if the device has embedded NFC (Near Field Communication) wireless technology.
*/
AspectPropertyValue getHasNFC();
/**
* Indicates if the device has a physical qwerty keyboard.
*/
AspectPropertyValue getHasQwertyPad();
/**
* Indicates if the device has a removable battery. This property is not applicable for devices that do not have batteries. Unless otherwise stated this property will return a 'False' value for tablets.
*/
AspectPropertyValue getHasRemovableBattery();
/**
* Indicates if the device has a touch screen. This property will return 'False' for a device that does not have an integrated screen.
*/
AspectPropertyValue getHasTouchScreen();
/**
* Indicates if the device has a trackpad or trackball. Examples of devices that support this property are the Nexus One and Blackberry Curve.
*/
AspectPropertyValue getHasTrackPad();
/**
* Indicates if the device has a virtual qwerty keyboard capability.
*/
AspectPropertyValue getHasVirtualQwerty();
/**
* Indicates if the browser stores the session history for a web page that contains the URLs visited by the browser's user.
*/
AspectPropertyValue getHistory();
/**
* Indicates if the browser is able to use media inputs, e.g. webcam and microphone, in a script and as an input for forms, e.g. '<input type="file" accept="image/*" id="capture">' would prompt image- capturing software to open.
*/
AspectPropertyValue getHtmlMediaCapture();
/**
* Indicates if the browser supports the new markup in HTML 5 that also refers to 'New Semantic Elements' such as ,