com.evolveum.midpoint.xml.ns._public.common.common_1
Class ObjectType

java.lang.Object
  extended by 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
           
 
Constructor Summary
ObjectType()
           
 
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
 

Field Detail

name

protected java.lang.String name

oid

protected java.lang.String oid

version

protected java.lang.String version
Constructor Detail

ObjectType

public ObjectType()
Method Detail

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.