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 dogbassetDoggie mouselogitechMousee XXL#000000 no thanks 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" properties, 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 property with multiple values. Multiple values are represented 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 sub-elements to represent structured data. Note that the use of XML attributes is discouraged in the properties, although it might be possible in some cases. This is also multi-valued property. Complex property "shoppingPreferences". This property is using complex XML type to form a structure of XML elements to represent data. This is a single-valued property. Note that the sub-elements "tShirt" and "tie" are NOT considered to be properties. 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 XML-related implementations that usually do not deal QNames well. 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" minOccurs="0"/>
         <element ref="{http://midpoint.evolveum.com/xml/ns/public/common/common-1.xsd}description" minOccurs="0"/>
       </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 description
           
protected  java.lang.String name
           
protected  java.lang.String oid
           
protected  java.lang.String version
           
 
Constructor Summary
ObjectType()
           
 
Method Summary
 java.lang.String getDescription()
          Free-form textual description of the object.
 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 setDescription(java.lang.String value)
          Sets the value of the description 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.
 java.lang.String toString()
          Generates a String representation of the contents of this type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

description

protected java.lang.String description

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 scope of resource (target system) that it belongs to. This may not be human-readable in a sense to display to a common end-user. It is intended 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 changed by invoking usual modifyObject operations. However, change of the name may have side effects (rename process). Although name is specified as optional by this schema, it is in fact mandatory for most object types. The reason for specifying the name as optional is that the name may be generated by the system instead of supplied by the clients. However, all objects stored in the repository must have a name.

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

getDescription

public java.lang.String getDescription()
Free-form textual description of the object.

Returns:
possible object is String

setDescription

public void setDescription(java.lang.String value)
Sets the value of the description 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

toString

public java.lang.String toString()
Generates a String representation of the contents of this type. This is an extension method, produced by the 'ts' xjc plugin

Overrides:
toString in class java.lang.Object


Copyright © 2011 evolveum. All Rights Reserved.