com.evolveum.midpoint.xml.ns._public.common.common_1
Class ObjectType
java.lang.Object
com.evolveum.midpoint.xml.ns._public.common.common_1.ObjectType
- All Implemented Interfaces:
- java.io.Serializable
- Direct Known Subclasses:
- ExtensibleObjectType, PasswordPolicyType
public abstract class ObjectType
- extends java.lang.Object
- implements java.io.Serializable
Common supertype for all identity objects.
Defines basic properties that each object must have to live in our system
(identifier, name).
Objects consists of identifier and name (see definition below) and a set of properties represented as XML
elements in the object's body. The properties are represented as first-level XML elements (tags) of
the object XML
representation and may be also contained in other tags (e.g. extension, attributes) that are marked by a
propertyContainer
annotation. The QName (namespace and local name) of the element holding the property is considered to be a property name.
Single-value properties must appear as a none or one
instance of the XML element holding the value.
Multi-value properties
must appear as none or more instances of the same XML element.
Multi-valued properties are regarded as unordered sets.
Duplicate values are allowed, but duplicates should not be preserved by the implementations. The
implementations should
reduce duplicate values to a single value if it is possible and efficient.
If an element for a specific property does not
appear in the object it means that the property value is undefined
(property does not exists). This is a different state as
compared to passing an empty XML element. Empty XML element means that the property exists,
but has an empty (null) value.
Implementations must be able to handle undefined (non-existent) properties, but
may NOT be able to handle empty (null)
values. The use of empty (null) values is DISCOURADGED.
It is not mandated by this specification how to pass ordered lists
and multi-value properties with duplicates.
However it is recommended to use single value properties with appropriate complex
XML data structures to hold such data.
The following XML snippet is an example of the object (omitting namespace definitions,
but
assuming default namespace to be the target namespace of this schema definition):
foobar
F00 B4r
Societus Geekus Europeus
Basset User Group
Foo Bar
Foo
Bar
The above example describes an object with identifier "d3adm3a4",
name
"foobar" and type defined by its top-level
element User
(that
corresponds to URI
"http://midpoint.evolveum.com/xml/ns/identity/1#User".
The object has
7
properties. Three of them are
standard properties
defined by this
schema:
Standard properties "fullName", "givenName"
and "familyName"
in default
namespace.
These are single-valued string properties.
All
the other properties are
non-standard extended attributes, but they
are
considered equal to the standard attributes. They are
quarantined in
the tag only to avoid XSD unique
particle attribution
(UPA) problems. In the above example the
non-standard properties are:
Property "geekName" in namespace
defined
by "foo" prefix. This is also
single-valued
string property.
Multi-valued non-standard property "guild". It is a string
propery
with multiple values. Multiple
values are repsented by providing
multiple instances of XML elements in the document.
Such properties
are typically
used for roles, groups, etc.
Complex property "pet".
This property is defined by
complex XML type,
using XML
attributes to
represent structured data.
It is also multi-valued property.
Complex
property "shoppingPreferences".
This
property is using complex
XML
type to form a structure of XML elemenets to represent data. This is
a
single-valued property.
QName-URI mapping:
For the purpose of this
schema and all components that are using it,
URIs
and QNames are
considered
equivalent. This is required by WWW
architecture and also
helps avoid some drawbacks and
bugs in ESB
implementations.
The QNames
are mapped to URIs by concatenating namespace URI and a local
name.
If URI does
not end with slash (/) or hash (#) character,
slash is
concatenated to the URI before adding the local name. The
URI-QName
mapping is the reverse process.
Java class for ObjectType complex type.
The following schema fragment specifies the expected content contained within this class.
<complexType name="ObjectType">
<complexContent>
<restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
<sequence>
<element ref="{http://midpoint.evolveum.com/xml/ns/public/common/common-1.xsd}name"/>
</sequence>
<attribute name="oid" type="{http://www.w3.org/2001/XMLSchema}string" />
<attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" />
</restriction>
</complexContent>
</complexType>
- See Also:
- Serialized Form
Field Summary |
protected java.lang.String |
name
|
protected java.lang.String |
oid
|
protected java.lang.String |
version
|
Method Summary |
java.lang.String |
getName()
Human-readable, mutable name of the object. |
java.lang.String |
getOid()
Gets the value of the oid property. |
java.lang.String |
getVersion()
Gets the value of the version property. |
void |
setName(java.lang.String value)
Sets the value of the name property. |
void |
setOid(java.lang.String value)
Sets the value of the oid property. |
void |
setVersion(java.lang.String value)
Sets the value of the version property. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
name
protected java.lang.String name
oid
protected java.lang.String oid
version
protected java.lang.String version
ObjectType
public ObjectType()
getName
public java.lang.String getName()
- Human-readable, mutable name of the object.
It
may also be an identifier (login name, group
name).
Should be
unique
in the respective context of
interpretation. E.g. the name of the
UserType subtype
should be
unique in the whole system.
The name of
the AccountType subtype should be unique in the
provisioning target
(target
system) that it belongs to.
This may
not be human-readable
in a sense to display
to a common end-user. It is
indended to be
displayed to
IDM system administrator.
Therefore it may contain
quite
a "ugly" structures such as
LDAP DN or URL.
Name is considered
to be ordinary property of the
object. Therefore it can be changes
by invoking
ususal
operations, etc.
- Returns:
- possible object is
String
setName
public void setName(java.lang.String value)
- Sets the value of the name property.
- Parameters:
value
- allowed object is
String
getOid
public java.lang.String getOid()
- Gets the value of the oid property.
- Returns:
- possible object is
String
setOid
public void setOid(java.lang.String value)
- Sets the value of the oid property.
- Parameters:
value
- allowed object is
String
getVersion
public java.lang.String getVersion()
- Gets the value of the version property.
- Returns:
- possible object is
String
setVersion
public void setVersion(java.lang.String value)
- Sets the value of the version property.
- Parameters:
value
- allowed object is
String
Copyright © 2011 evolveum. All Rights Reserved.