XAP

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