herence.ce.coherence.23.03.source-code.coherence-pof-config.xsd Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of coherence Show documentation
Show all versions of coherence Show documentation
Oracle Coherence Community Edition
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Licensed under the Universal Permissive License v 1.0 as shown at
https://oss.oracle.com/licenses/upl.
This is the XML schema for the Coherence POF configuration file
(coherence-pof-config.xml).
The pof-config element is the root element of the pof-config
descriptor.
Used in: n/a
The user-type-list element contains zero or more user-type elements.
Each POF user type that will be used must be listed in the
user-type-list.
The user-type-list element may also contain zero or more include
elements. Each include element is used to add user-type elements
defined in another pof-config file.
Used in: pof-config
The user-type element contains the declaration of a POF user type. A
POF user type is a uniquely identifiable, portable, versionable
object class that can be communicated among systems regardless of
language, OS, hardware and location.
Within the user-type element, the type-id element is optional, but its use
is strongly suggested in order to support schema versioning and
evolution.
Within the user-type element, the class-name element is required, and
specifies the fully qualified name of the Java class or interface
that all values of the user type are type-assignable to.
If the serializer element is omitted, then the user type is assumed to
implement the PortableObject interface, and the
PortableObjectSerializer implementation is used as the PofSerializer.
Used in: user-type-list
The include element specifies the location of a pof-config file to load
user-type elements from.
The value is a locator string (either a valid path or URL) that
identifies
the location of the target pof-config file.
Used in: user-type-list
The type-id element specifies an integer value (n >= 0) that uniquely
identifies the user type.
If none of the user-type elements contains a type-id element, then the
type IDs for the user types will be based on the order in which they
appear in the user-type-list, with the first user type being assigned
the type ID 0, the second user type being assigned the type ID 1, and so on.
However, it is strongly recommended that user types IDs always be specified,
in order to support schema versioning and evolution.
Used in: user-type
The class-name element specifies the name of a Java class or interface.
Within the user-type element, the class-name element is required,
and specifies the fully qualified name of the Java class or interface
that all values of the user type are type-assignable to.
Within the serializer element, the class-name element is required.
Used in: user-type, serializer
The serializer element specifies what PofSerializer to use to serialize
and deserialize a specific user type.
A PofSerializer is used to serialize and deserialize user type values
to and from a POF stream. Within the serializer element, the class-name
element is required, and zero or more constructor parameters can be
defined within an init-params element.
If the serializer element is omitted, then the user type is assumed to
implement the PortableObject interface, and the
PortableObjectSerializer
implementation is used as the PofSerializer.
If the init-params element is omitted from the serializer element,
then the
following four constructors are attempted on the specific PofSerializer
implementation, and in this order:
- (int nTypeId, Class clz, ClassLoader loader)
- (int nTypeId, Class clz)
- (int nTypeId)
- ()
Used in: user-type
The default serializer element specifies what PofSerializer to use to
serialize and deserialize all user types defined in this config. If
a serializer is specified for a user type, then that serializer will
be used for that user type instead of the default serializer.
If the default serializer element is omitted, the serializer defined
for the specific user type will be used. If the serializer for the
user type is also omitted, then the user type is assumed to implement
the PortableObject interface, and the PortableObjectSerializer
implementation is used as the PofSerializer.
If the init-params element is omitted from the default serializer
element, then the following four constructors are attempted on the
specific PofSerializer implementation, and in this order:
- (int nTypeId, Class clz, ClassLoader loader)
- (int nTypeId, Class clz)
- (int nTypeId)
- ()
Used in: pof-config
The init-params element contains zero or more arguments (each as an
init-param) that correspond to the parameters of a constructor of
the class that is being configured.
Used in: serializer
The init-param element provides a type for a configuration parameter
and a corresponding value to pass as an argument.
Used in: init-params
The param-type element specifies the Java type of initialization
parameter.
Supported types are:
- string - indicates that the value is a java.lang.String
- boolean - indicates that the value is a java.lang.Boolean
- int - indicates that the value is a java.lang.Integer
- long - indicates that the value is a java.lang.Long
- double - indicates that the value is a java.lang.Double
- decimal - indicates that the value is a
java.math.BigDecimal
- file - indicates that the value is a
java.io.File
- date - indicates that the value is a java.sql.Date
- time - indicates that the value is a java.sql.Time
- datetime -indicates that the value is a
java.sql.Timestamp
- xml - indicates that the value is the entire init-param
XmlElement
The value is converted to the specified type, and the target
constructor or method must have a parameter of that type in
order for the instantiation to succeed.
Used in: init-param
The param-value element specifies a value of the initialization
parameter.
The value is in a format specific to the type of the parameter.
There are four reserved values that can be specified. Each of these
values
is replaced at runtime with a specific runtime value before the
constructor
is invoked:
- "{type-id}" - replaced with the Type ID of the User Type;
- "{class-name}" - replaced with the name of the class for the User
Type;
- "{class}" - replaced with the Class for the User Type;
-
"{class-loader}" - replaced with the ConfigurablePofContext's
ContextClassLoader.
Used in: init-param
The allow-interfaces element indicates whether the user-type class-name
can specify Java interface types in addition to Java class types.
Valid values are "true" or "false". Default value is false.
Used in: pof-config
The allow-subclasses element indicates whether the user-type class-name
can specify a Java class type that is abstract, and whether sub-classes
of any specified user-type class-name will be permitted at runtime and
automatically mapped to the specified super-class for purposes of
obtaining a serializer.
Valid values are "true" or "false". Default value is false.
Used in: pof-config
The enable-references element indicates whether Identity/Reference type
support is enabled.
Valid values are "true" or "false". Default value is false.
Used in: pof-config
The enable-type-discovery element indicates whether classes
annotated with PortableType are added automatically when POF
serialization is used.
Valid values are "true" or "false". Default value is false.
Used in: pof-config
The enable-config-discovery element indicates whether
additional POF configurations will be loaded from
discovered PofConfigProvider instances.
Valid values are "true" or "false". Default value is true.
Used in: pof-config
The prefer-java-time element indicates whether Java 8 date/time
types (java.time.*) should be preferred over legacy types.
Valid values are "true" or "false". Default value is false.
Used in: pof-config