Application
Table of Contents
Interfaces
- DownloadAndLoadTaskFailureCallback
- Cache
- Cache interface for the DeviceAtlas APIs.
- DynamicValueExtractor
- Input
- DeviceAtlasApi
Classes
- BaseDeviceAtlasApi
- BucketHandler
- A bucket is a section of the data file. It has an ID, length and a byte array
of data. Each bucket type has a specific format. This class handles the
conversion of bucket data(binary bytes) to actual values.
- BucketType
- The types of bucket and their associated IDs. The IDs are important and
should **NOT** be changed. The API relies on these IDs remaining the same.
- ByteReader
- This class gets a chunk of binary data (bytes) then the methods are used to
read data segments based on the data of data being read from the chunk, the
read pointer will advance to the next bytes.
- CarrierApi
- The main class for the Carrier Identification API. Used to load the data file and
to perform lookups using IPv4 addresses. For usage in a Web App it is
recommended to use the CarrierApiWeb (CarrierApiWeb.php) class so you don't
have to pass the client's IP address manually.
- CarrierApiWeb
- A small extension to the core CarrierApi to get IP from $_SERVER
for current client.
- CarrierData
- This class is responsible for loading the data file and walking the IPV4 Radix
Trie to find the properties for a given User-Agent.
- CarrierDataType
- Carrier API specific data types. These are used to optimise the data in the
data file.
- DataFile
- DataFileBuilder
- DataFileDecompressor
- Decompresses a data file. Supports zip and gzip compression.
- DataFileDownloader
- Downloads the data file from a provided URL.
- DataFileManager
- DataMetaFile
- Meta file is used to know when the last data file
download/load occurred. This is important for scheduling
the download/load task.
- Util
- DataType
- The data types for various properties. Each Property object returned has a
getDataType() method.
- AcceptLanguageParser
- Parses the Accept-Language header.
- AdditionalActions
- Model of an additional action.
- AdditionalActionsRunner
- Refines the detected components using any detected
additional actions.
- BasicInput
- Represents a single entry in the data file
"i" (inputs) node.
- ApcCache
- APC cache provider may be used by the DeviceApi and DeviceApiWeb to cache the
detected properties. Using cache improves the performance by not doing
unnecessary lookups in the data files.
- FileCache
- File cache provider may be used by the DeviceApi and DeviceApiWeb to cache the
detected properties. Using cache improves the performance by not doing
unnecessary lookups in the data files.
- LRUCache
- Least recently used in-memory cache.
- MemCache
- Memcache cache provider may be used by the DeviceApi and DeviceApiWeb to cache the
detected properties. Using cache improves the performance by not doing
unnecessary lookups in the data files.
- CacheService
- Manages interactions with the cache layer.
- ClientSideParser
- ComparisonProperty
- Model of a component's Client-side rule's comparison property
in the trie.
- ComparisonTransformer
- Represents a "ct" node (comparison transformation) within a "pm"
(property mappings) node. Compares the input value using a defined
operator and comparison value.
- Component
- Represents a set of property/value pairs. A Component is retrieved from a
MatchCandidate during the token Trie walk. The component's weight
is used to determine whether a component should override
an already found component.
- ComponentDetector
- Uses the TokenTrieWalker to try and find a set of Components for given
input identifier(s).
- ComponentDetectorResult
- ComponentType
- ConstraintGroup
- Defines a constraint group. A constraint group is comprised
of a list of match constraints. For the constraint group to
be valid only one of the match constraints needs to match.
- DelimitersHandler
- This class creates an array of key values representing all characters up
to the maximum delimiter character's codepoint. It uses the codepoint value
of a given character as a lookup into the boolean array. An entry that
returns true from the array is a delimiter character.
- DependentInput
- Represents a single entry in the data file
"o" (ordered inputs) node.
- DeviceData
- DeviceDataParser
- Parses the data from the JSON file.
- DynamicPropertiesExtractor
- Handle the extraction of dynamic properties from identifiers
- DynamicStringExtractor
- The "string" dynamic value extractor extracts a dynamic value without
validating the extracted value.
- DynamicValue
- A DynamicValue holds a reference to a component that should be present before
the dynamic value and also a DynamicValueExtractor that is responsible for
actually extracting the value from an identifier.
- DynamicValueExtractorFactory
- DynamicVersionExtractor
- The "version" dynamic value extractor extracts a dynamic value and ensures
it is a version value.
- IdentifierMatchResult
- Collects the MatchCandidates found during the token trie walk along with their
token position. Positions for dynamic properties are also recorded for later
use.
- Inputs
- Represents the "i" (inputs node) in the data file.
- LanguagePropertiesExtractor
- Parses the Accept-Language header and adds
the language and languageLocale properties
the properties set.
- LookaroundConstraint
- Defines a lookaround constraint. This is a constraint that may be applied to
a component found via the token trie walk. The constraint contains an component
index and an allowed offset that it can exist for the constraint to be valid
- MatchCandidate
- A match candidate is considered a match and its component
available for selection if the position in the identifier string
is within the range of its position constraint. If the match candidate was
detected using only a partial token then it is considered a match if it is
a starts with rule type.
- MatchCandidatesCharPosition
- MatchType
- MetaData
- Operator
- PositionConstraint
- Defines a range of valid positions that a token can occur in.
- PropertiesCollector
- Collects the properties from the components detected by
the ComponentDetectorClass.
- PropertyConstraint
- Model of a property constraint.
- PropertyConstraintRunner
- Refines the detected components using any detected
property constraints.
- PropertyMapping
- Represents a single entry in the data file
"pm" (property mappings) node.
- PropertyMappingSource
- Represents a single property mapping source for a
property mapping. An identifier transformation can
contain a trim transformation OR a list of
comparison transformations.
- PropertyMappingsRunner
- Runs the property mappings transformations and adds
the found properties to the result set.
- StaticComponent
- TokenTrieWalker
- Walks a provided identifier to try and find one or more matching components.
- TrimTransformer
- Represents a "tt" node (trim transformation) within a "pm"
(property mappings) node. Trims a defined prefix and suffix
from an input.
- Util
- Version
- Encapsulates a version number string and allows for comparison to other
version numbers.
- VersionSearch
- VersionSpecificChildren
- A component may contain version-specific children. These
are contained within a component's "vc" node which this
class represent.
- ClientPropertiesException
- The ClientPropertiesException is thrown by the API when there is a problem
parsing the properties from the client or when the JSON file does not support
client side properties.
- DataLoadingException
- The DataLoadException is thrown if there is a problem loading the data file.
- FileWriteException
- The DataLoadException is thrown if there is a problem loading the data file.
- IncorrectPropertyTypeException
- The unchecked IncorrectPropertyTypeException is thrown by the Api class when there is an
attempt to fetch a property by type and the property is stored under a different type in the tree.
- InvalidPropertyNameException
- The unchecked IncorrectPropertyTypeException is thrown by the Api class when there is an
attempt to fetch a property by type and the property is stored under a different type in the tree.
- JsonException
- The JsonException is thrown by the DetectionData class or the Api class when there is an error parsing the Json.
- MissingDataException
- The MissingDataException is thrown if a data file was not loaded before a call
to methods like getProperties(String ip) or getPropertyNames();
- Properties
- Contains a map of names to Property objects. An instance of this class
is returned by getProperties().
- Property
- Contains a property value. The value can be fetched as a generic Object or
one of the convenience methods can be used to get the value in a
specific type.
- PropertyName
- Contains a property name and the expected data type of values associated with the property.