com.evolveum.midpoint.xml.ns._public.common.common_2a
Class ResourceObjectShadowAttributesType

java.lang.Object
  extended by com.evolveum.midpoint.xml.ns._public.common.common_2a.ResourceObjectShadowAttributesType
All Implemented Interfaces:
Containerable, Serializable, Cloneable

public class ResourceObjectShadowAttributesType
extends Object
implements Serializable, Cloneable, Containerable

Attribute values from the resource. The values may be freshly fetched from the resource or cached. The set of attributes may be empty, may provide a complete copy of the resource object or anything in between. This depends on the implementation of the caching and fetching strategy, configuration of the provisioning subsystem or operation that was invoked. While this object is stored, attibutes set will contain attribute values that are (persistently) cached from the resource. At the normal case there should be at least attributes that identify the resource object on the resouce (identifiers). This will be a single attribute in a normal case, something like uid, username, DN, etc. But if a single attribute is not enough to identify the account, more than one attribute may be present. There also may be no attributes. This can happen e.g. if IDM system knows that user should have account on the resource, but the account is not yet created and no identifier is yet assigned to it. This schema does not distinguish which attributes are idenfiers are which are ordinary attributes. That can be learned from the resource schema provided by resource or resource connector. Motivation: Resource schema is dynamic, the attribute that is identifier for a specific object may be different for different resources, even if the resources are of the same type (e.g. directory servers with different LDAP schema). And we do not really need to know which of the attributes is identifier in the compile-time. Knowing that in run-time is enough. Please note that this may be out of sync with regard to the resource. In some operations (e.g. lookup) it will be only milliseconds old, but in case of stored cached values this may be days or even weeks old value. Even though there is a single extensible element "attributes", we do not want to put its content directly to the body of resource object. Doing so will cause problems with UPA rule and it will effectively prohibit the the of type replacement extensibility on this object.

Java class for ResourceObjectShadowAttributesType complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="ResourceObjectShadowAttributesType">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
     </restriction>
   </complexContent>
 </complexType>
 

See Also:
Serialized Form

Field Summary
static QName COMPLEX_TYPE
           
 
Constructor Summary
ResourceObjectShadowAttributesType()
           
 
Method Summary
 PrismContainerValue asPrismContainerValue()
           
 ResourceObjectShadowAttributesType clone()
           
 boolean equals(Object object)
           
 List<Object> getAny()
           
 String getId()
           
 int hashCode()
           
 void setId(String value)
           
 void setupContainerValue(PrismContainerValue containerValue)
          Setup value to the containerable representation.
 String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

COMPLEX_TYPE

public static final QName COMPLEX_TYPE
Constructor Detail

ResourceObjectShadowAttributesType

public ResourceObjectShadowAttributesType()
Method Detail

asPrismContainerValue

public PrismContainerValue asPrismContainerValue()
Specified by:
asPrismContainerValue in interface Containerable

setupContainerValue

public void setupContainerValue(PrismContainerValue containerValue)
Description copied from interface: Containerable
Setup value to the containerable representation. This is used to after (empty) containerable is created to initialize it with a correct prism container value. Note: This method DOES NOT change the container value parent.

Specified by:
setupContainerValue in interface Containerable

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object object)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getAny

public List<Object> getAny()

getId

public String getId()

setId

public void setId(String value)

clone

public ResourceObjectShadowAttributesType clone()
Overrides:
clone in class Object


Copyright © 2013 evolveum. All Rights Reserved.