Class Metadata
GigaSpaces provides the ability to obtain and modify class metadata of objects stored in the Space Where GigaSpaces data is stored. It is the logical cache that holds data objects in memory and might also hold them in layered in tiering. Data is hosted from multiple SoRs, consolidated as a unified data model. during runtime.
Name
Syntax | name |
Description | Contains the full qualified name of the specified class. Because this attribute is of the XML type ID , there can only be one class-descriptor per class. |
Example:
<gigaspaces-mapping>
<class name="model.Person">
</class>
</gigaspaces-mapping>
Persistence
Syntax | persist |
Argument | boolean |
Default | false |
Description | This field indicates the persistency mode of the object. When a space is defined as persistent, a true value for this attribute will persist objects of this type. |
Example:
<gigaspaces-mapping>
<class name="model.Person" persist="true">
</class>
</gigaspaces-mapping>
Replication
Syntax | replicate |
Argument | boolean |
Default | false |
Description | This field indicates the replication mode of the object. When a space is defined as replicated, a true value for this attribute will replicate objects of this type. |
Example:
<gigaspaces-mapping>
<class name="model.Person" replicate="true">
</class>
</gigaspaces-mapping>
FIFO Support
Syntax | fifo-support |
Argument | FifoSupport |
Default | not_set |
Description | Enabling FIFO FIFO is an acronym for first in, first out, a method for organizing the manipulation of a data structure where the oldest entry, or "head" of the queue, is processed first. operations. |
Example:
<gigaspaces-mapping>
<class name="model.Person" fifo-support="operation">
</class>
</gigaspaces-mapping>
Storage Type
Syntax | storage-type |
Argument | StorageType |
Default | object |
Description | To determine a default storage type for each non primitive property for which a (field level) storage type was not defined. |
Example:
<gigaspaces-mapping>
<class name="model.Person" storage-type="binary" />
</gigaspaces-mapping>
Include Properties
Syntax | include-properties |
Argument | IncludeProperties |
Default | implicit |
Description | implicit takes into account all POJO Plain Old Java Object.
A regular Java object with no special restrictions other than those forced by the Java Language Specification and does not require any classpath. fields – even if a get method is not declared as a SpaceProperty , it is taken into account as a space field.explicit takes into account only the get methods which are declared in the mapping file. |
Example:
<gigaspaces-mapping>
<class name="model.Person" include-properties="explicit" />
</gigaspaces-mapping>
Inherit Index
Syntax | inherit-indexes |
Argument | boolean |
Default | true |
Description | Whether to use the class indexes list only, or to also include the superclass' indexes. If the class does not define indexes, superclass indexes are used. Options: - false – class indexes only.- true – class indexes and superclass indexes. |
Example:
<gigaspaces-mapping>
<class name="model.Person" inherit-indexes="false" />
</gigaspaces-mapping>
Compound Index
Syntax | compound-index paths |
Argument(s) | string |
Values | attribute name(s) |
Description | Indexes can be defined for multiple attributes of a class |
Example:
<gigaspaces-mapping>
<class name="Data" >
<compound-index paths="data1, data2"/>
...
</class>
</gigaspaces-mapping>
Blobstore
Syntax | blobstoreEnabled |
Argument | boolean |
Default | true |
Description | By default any Space Data Type is blobStore enabled. When decorating the space class with its meta data you may turn off the blobStore behavior using the @SpaceClass blobStore annotation or gs.xml blobStore tag. |
Example:
<gigaspaces-mapping>
<class name="com.test.Person" "blobstoreEnabled"="false" >
.....
</class>
</gigaspaces-mapping>
MemoryXtend