Class Metadata
GigaSpaces provides the ability to obtain and modify class metadata of objects stored in the Space 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 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 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

