Skip navigation links


org.identityconnectors.framework.common.objects
Class AttributeBuilder

java.lang.Object
  extended by org.identityconnectors.framework.common.objects.AttributeBuilder


public final class AttributeBuilder
extends java.lang.Object

Simplifies constructing instances of Attribute. A Connector developer does not need to implement the Attribute interface. The builder returns an instance of an implementation of Attribute that overrides the methods equals(), hashcode() and toString() to provide a uniform and robust class. This implementation is backed by an ArrayList that contains the values and preserves the order of those values (in case the order of values is significant to the target system or application).

Since:
1.0
Version:
$Revision: /main/2 $
Author:
Will Droste

Constructor Summary
AttributeBuilder()
           

 

Method Summary
 AttributeBuilder addValue(java.util.Collection<?> obj)
          Adds each object in the collection as a value for the attribute that is being built.
 AttributeBuilder addValue(java.lang.Object... objs)
          Add each of the specified objects as a values for the attribute that is being built.
 Attribute build()
           
static Attribute build(java.lang.String name)
          Creates a attribute with the specified name and a null value.
static Attribute build(java.lang.String name, java.util.Collection<?> obj)
          Creates an Attribute with the name and the values provided.
static Attribute build(java.lang.String name, java.lang.Object... args)
          Creates an Attribute with the name and the values provided.
static Attribute buildCurrentAttributes(ObjectClass objectClass, java.util.Set<Attribute> attributes)
          Builds an operational attribute that represents current object values on the target system.
static Attribute buildCurrentPassword(char[] password)
          Builds an operational attribute that represents the current password of an object on a target system or application.
static Attribute buildCurrentPassword(GuardedString password)
          Builds an operational attribute that represents the current password of an object on a target system or application.
static Attribute buildDisableDate(java.util.Date date)
          Builds an operational attribute that represents the date and time to disable an object on a target system or application.
static Attribute buildDisableDate(long date)
          Builds an operational attribute that represents the date and time to disable an object on a target system or application.
static Attribute buildEnabled(boolean value)
          Builds an operational attribute that represents whether object is enabled on a target system or application.
static Attribute buildEnableDate(java.util.Date date)
          Builds an operational attribute that represents the date and time to enable an object on a target system or application.
static Attribute buildEnableDate(long date)
          Builds an operational attribute that represents the date and time to enable an object on a target system or application.
static Attribute buildLastLoginDate(java.util.Date date)
          Builds an pre-defined attribute that represents the date and time of the most recent login for an object (such as an account) on a target system or application.
static Attribute buildLastLoginDate(long date)
          Builds an pre-defined attribute that represents the date and time of the most recent login for an object (such as an account) on a target system or application.
static Attribute buildLastPasswordChangeDate(java.util.Date date)
          Builds an pre-defined attribute that represents the date and time that the password was most recently changed for an object (such as an account) on a target system or application.
static Attribute buildLastPasswordChangeDate(long date)
          Builds an pre-defined attribute that represents the date and time that the password was most recently changed for an object (such as an account) on a target system or application.
static Attribute buildLockOut(boolean lock)
          Builds an operational attribute that represents whether an object is locked out on a target system or application.
static Attribute buildPassword(char[] password)
          Builds an operational attribute that represents the password of an object on a target system or application.
static Attribute buildPassword(GuardedString password)
          Builds an operational attribute that represents the password of an object on a target system or application.
static Attribute buildPasswordChangeInterval(long value)
          Builds an pre-defined attribute that represents how often the password must be changed for an object (such as an account) on a target system or application.
static Attribute buildPasswordExpirationDate(java.util.Date dateTime)
          Builds an operational attribute that represents the date and time that a password will expire on a target system or application.
static Attribute buildPasswordExpirationDate(long dateTime)
          Builds an operational attribute that represents the date/time that a password will expire on a target system or application.
static Attribute buildPasswordExpired(boolean value)
          Builds an operational attribute that represents whether the password of an object is expired on a target system or application.
 java.lang.String getName()
          Get the name of the attribute that is being built.
 java.util.List<java.lang.Object> getValue()
          Return any current value of the attribute that is being built.
 AttributeBuilder setName(java.lang.String name)
          Set the name of the attribute that is being built.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

AttributeBuilder

public AttributeBuilder()

Method Detail

build

public static Attribute build(java.lang.String name)
Creates a attribute with the specified name and a null value.
Parameters:
name - unique name of the attribute.
Returns:
instance of Attribute with a null value.

build

public static Attribute build(java.lang.String name,
                              java.lang.Object... args)
Creates an Attribute with the name and the values provided.
Parameters:
name - unique name of the attribute.
args - variable number of arguments that are used as values for the attribute.
Returns:
instance of Attribute with the specified name and a value that includes the arguments provided.

build

public static Attribute build(java.lang.String name,
                              java.util.Collection<?> obj)
Creates an Attribute with the name and the values provided.
Parameters:
name - unique name of the attribute.
obj - a collection of objects that are used as values for the attribute.
Returns:
instance of Attribute with the specified name and a value that includes the arguments provided.

getName

public java.lang.String getName()
Get the name of the attribute that is being built.
Returns:
The name of the attribute.

setName

public AttributeBuilder setName(java.lang.String name)
Set the name of the attribute that is being built.
Throws:
java.lang.IllegalArgumentException - iff the name parameter is blank.

getValue

public java.util.List<java.lang.Object> getValue()
Return any current value of the attribute that is being built.
Returns:
any current value of the attribute that is being built.

addValue

public AttributeBuilder addValue(java.lang.Object... objs)
Add each of the specified objects as a values for the attribute that is being built.
Parameters:
objs - the values to add
Throws:
java.lang.NullPointerException - iff any of the values is null.

addValue

public AttributeBuilder addValue(java.util.Collection<?> obj)
Adds each object in the collection as a value for the attribute that is being built.
Parameters:
obj - the values to add
Throws:
java.lang.NullPointerException - iff any of the values is null.

build

public Attribute build()
Returns:
a new attribute with the name and any values that have been provided to the builder.
Throws:
java.lang.IllegalArgumentException - if no name has been provided.

buildPasswordExpirationDate

public static Attribute buildPasswordExpirationDate(java.util.Date dateTime)
Builds an operational attribute that represents the date and time that a password will expire on a target system or application.
Parameters:
dateTime - UTC time in milliseconds.
Returns:
an Attribute with the pre-defined name for password expiration date.

buildPasswordExpirationDate

public static Attribute buildPasswordExpirationDate(long dateTime)
Builds an operational attribute that represents the date/time that a password will expire on a target system or application.
Parameters:
dateTime - UTC time in milliseconds.
Returns:
an Attribute with the pre-defined name for password expiration date.

buildPassword

public static Attribute buildPassword(GuardedString password)
Builds an operational attribute that represents the password of an object on a target system or application.
Parameters:
password - the string that represents a password.
Returns:
an Attribute with the predefined name for password.

buildPassword

public static Attribute buildPassword(char[] password)
Builds an operational attribute that represents the password of an object on a target system or application.

The caller is responsible for clearing out the array of characters.

Parameters:
password - the characters that represent a password.
Returns:
an Attribute with the predefined name for password.

buildCurrentPassword

public static Attribute buildCurrentPassword(GuardedString password)
Builds an operational attribute that represents the current password of an object on a target system or application.

Passing the current password indicates the account owner (and not an administrator) is changing the password. The use case is that an administrator password change may not keep history or validate against policy.

Parameters:
password - the string that represents a password.
Returns:
an Attribute with the predefined name for current password.

buildCurrentPassword

public static Attribute buildCurrentPassword(char[] password)
Builds an operational attribute that represents the current password of an object on a target system or application.

Passing the current password indicates the account owner (and not an administrator) is changing the password. The use case is that an administrator password change may not keep history or validate against policy.

The caller is responsible for clearing out the array of characters.

Parameters:
password - the characters that represent a password.
Returns:
an Attribute with the predefined name for current password.

buildEnabled

public static Attribute buildEnabled(boolean value)
Builds an operational attribute that represents whether object is enabled on a target system or application.
Parameters:
value - true indicates the object is enabled; otherwise false.
Returns:
an Attribute with the predefined name for enabled.

buildEnableDate

public static Attribute buildEnableDate(java.util.Date date)
Builds an operational attribute that represents the date and time to enable an object on a target system or application.
Parameters:
date - The date and time to enable a particular object.
Returns:
an Attribute with the predefined name for enable date.

buildEnableDate

public static Attribute buildEnableDate(long date)
Builds an operational attribute that represents the date and time to enable an object on a target system or application. The date-and-time parameter is UTC in milliseconds.
Parameters:
date - The date and time (UTC in milliseconds) to enable a particular object.
Returns:
an Attribute with the predefined name for enable date.

buildDisableDate

public static Attribute buildDisableDate(java.util.Date date)
Builds an operational attribute that represents the date and time to disable an object on a target system or application.
Parameters:
date - The date and time to disable a particular object.
Returns:
an Attribute with the predefined name for disable date.

buildDisableDate

public static Attribute buildDisableDate(long date)
Builds an operational attribute that represents the date and time to disable an object on a target system or application. The date-and-time parameter is UTC in milliseconds.
Parameters:
date - The date and time (UTC in milliseconds) to disable a particular object.
Returns:
an Attribute with the predefined name for disable date.

buildLockOut

public static Attribute buildLockOut(boolean lock)
Builds an operational attribute that represents whether an object is locked out on a target system or application.
Parameters:
lock - true if the object is locked out; otherwise false.
Returns:
an Attribute with the predefined name for lockout state.

buildPasswordExpired

public static Attribute buildPasswordExpired(boolean value)
Builds an operational attribute that represents whether the password of an object is expired on a target system or application.
Parameters:
value - from the API true expires and from the SPI its shows its either expired or not.
Returns:
an Attribute with the predefined name for password expiration state.

buildLastLoginDate

public static Attribute buildLastLoginDate(java.util.Date date)
Builds an pre-defined attribute that represents the date and time of the most recent login for an object (such as an account) on a target system or application.
Parameters:
date - The date and time of the last login.
Returns:
an Attribute with the predefined name for password expiration state.

buildLastLoginDate

public static Attribute buildLastLoginDate(long date)
Builds an pre-defined attribute that represents the date and time of the most recent login for an object (such as an account) on a target system or application.

The time parameter is UTC in milliseconds.

Parameters:
date - The date and time (UTC in milliseconds) of the last login.
Returns:
an Attribute with the predefined name for password expiration state.

buildLastPasswordChangeDate

public static Attribute buildLastPasswordChangeDate(java.util.Date date)
Builds an pre-defined attribute that represents the date and time that the password was most recently changed for an object (such as an account) on a target system or application.
Parameters:
date - The date and time that the password was most recently changed.
Returns:
an Attribute with the predefined name for password expiration state.

buildLastPasswordChangeDate

public static Attribute buildLastPasswordChangeDate(long date)
Builds an pre-defined attribute that represents the date and time that the password was most recently changed for an object (such as an account) on a target system or application.

The time parameter is UTC in milliseconds.

Parameters:
date - The date and time that the password was most recently changed.
Returns:
an Attribute with the predefined name for password expiration state.

buildPasswordChangeInterval

public static Attribute buildPasswordChangeInterval(long value)
Builds an pre-defined attribute that represents how often the password must be changed for an object (such as an account) on a target system or application.

The value for this attribute is expressed in milliseconds.

Parameters:
value - The number of milliseconds between the time that the password was most recently changed and the time when the password must be changed again.
Returns:
an Attribute with the predefined name for password expiration state.

buildCurrentAttributes

public static Attribute buildCurrentAttributes(ObjectClass objectClass,
                                               java.util.Set<Attribute> attributes)
Builds an operational attribute that represents current object values on the target system.

Intended to be used with Update operation.

This is usable when the connector is not able to query the target system for current attributes (there might be some attributes which are not stored at target system) - or - to preserve query of the target system if the performance is the concern.

Note that current attributes are represented as attribute with one attribute value which is of type EmbeddedObject.

Parameters:
objectClass - ObjectClass of the current object.
attributes - Set of attributes representing the current attributes of the object on the target system.
Returns:
an Attribute with the predefined name.
Throws:
java.lang.IllegalArgumentException - if objectClass is null
java.lang.NullPointerException - if attributes is null

Skip navigation links


Copyright © 2012, Oracle and/or its affiliates. All rights reserved.