Class AttributeInfoBuilder
- java.lang.Object
-
- org.identityconnectors.framework.common.objects.AttributeInfoBuilder
-
public final class AttributeInfoBuilder extends java.lang.Object
Simplifies the process of building 'AttributeInfo' objects. This class is responsible for providing a default implementation ofAttributeInfo
.AttributeInfoBuilder bld = new AttributeInfoBuilder("email"); bld.setRequired(true); AttributeInfo info = bld.build();
- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description AttributeInfoBuilder()
Creates an builder with all the defaults set.AttributeInfoBuilder(java.lang.String name)
Creates an builder with all the defaults set.AttributeInfoBuilder(java.lang.String name, java.lang.Class<?> type)
Creates an builder with all the defaults set.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeInfo
build()
Builds anAttributeInfo
object based on the properties set.static AttributeInfo
build(java.lang.String name)
Convenience method to create an AttributeInfo.static AttributeInfo
build(java.lang.String name, java.lang.Class<?> type)
Convenience method to create an AttributeInfo.static AttributeInfo
build(java.lang.String name, java.lang.Class<?> type, java.util.Set<AttributeInfo.Flags> flags)
Convenience method to create an AttributeInfo.static AttributeInfoBuilder
define(java.lang.String name)
Convenience method to create a new AttributeInfoBuilder.static AttributeInfoBuilder
define(java.lang.String name, java.lang.Class<?> type)
Convenience method to create a new AttributeInfoBuilder.AttributeInfoBuilder
setCreateable(boolean value)
Determines if the attribute is writable.AttributeInfoBuilder
setFlags(java.util.Set<AttributeInfo.Flags> flags)
Sets all of the flags for this builder.AttributeInfoBuilder
setMultiValued(boolean value)
Determines if this attribute supports multivalue.AttributeInfoBuilder
setName(java.lang.String name)
Sets the unique name of theAttributeInfo
object.AttributeInfoBuilder
setReadable(boolean value)
Determines if the attribute is readable.AttributeInfoBuilder
setRequired(boolean value)
Determines if this attribute is required.AttributeInfoBuilder
setReturnedByDefault(boolean value)
AttributeInfoBuilder
setType(java.lang.Class<?> value)
Please seeFrameworkUtil.checkAttributeType(Class)
for the definitive list of supported types.AttributeInfoBuilder
setUpdateable(boolean value)
Determines if this attribute writable during update.
-
-
-
Constructor Detail
-
AttributeInfoBuilder
public AttributeInfoBuilder()
Creates an builder with all the defaults set. The name must be set before the 'build' method is called otherwise anIllegalStateException
is thrown.Name: <not set> Readable: true Writeable: true Required: false Type: string MultiValue: false
-
AttributeInfoBuilder
public AttributeInfoBuilder(java.lang.String name)
Creates an builder with all the defaults set. The name must be set before the 'build' method is called otherwise anIllegalStateException
is thrown.Name: <not set> Readable: true Writeable: true Required: false Type: string MultiValue: false
-
AttributeInfoBuilder
public AttributeInfoBuilder(java.lang.String name, java.lang.Class<?> type)
Creates an builder with all the defaults set. The name must be set before the 'build' method is called otherwise anIllegalStateException
is thrown.Name: <not set> Readable: true Writeable: true Required: false Type: string MultiValue: false
-
-
Method Detail
-
build
public AttributeInfo build()
Builds anAttributeInfo
object based on the properties set.- Returns:
AttributeInfo
based on the properties set.
-
setName
public AttributeInfoBuilder setName(java.lang.String name)
Sets the unique name of theAttributeInfo
object.- Parameters:
name
- unique name of theAttributeInfo
object.
-
setType
public AttributeInfoBuilder setType(java.lang.Class<?> value)
Please seeFrameworkUtil.checkAttributeType(Class)
for the definitive list of supported types.- Parameters:
value
- type for anAttribute
's value.- Throws:
java.lang.IllegalArgumentException
- if the Class is not a supported type.
-
setReadable
public AttributeInfoBuilder setReadable(boolean value)
Determines if the attribute is readable.
-
setCreateable
public AttributeInfoBuilder setCreateable(boolean value)
Determines if the attribute is writable.
-
setRequired
public AttributeInfoBuilder setRequired(boolean value)
Determines if this attribute is required.
-
setMultiValued
public AttributeInfoBuilder setMultiValued(boolean value)
Determines if this attribute supports multivalue.
-
setUpdateable
public AttributeInfoBuilder setUpdateable(boolean value)
Determines if this attribute writable during update.
-
setReturnedByDefault
public AttributeInfoBuilder setReturnedByDefault(boolean value)
-
setFlags
public AttributeInfoBuilder setFlags(java.util.Set<AttributeInfo.Flags> flags)
Sets all of the flags for this builder.- Parameters:
flags
- The set of attribute info flags. Null means clear all flags.NOTE: EnumSet.noneOf(AttributeInfo.Flags.class) results in an attribute with the default behavior:
- update-able
- creatable
- returned by default
- readable
- single-valued
- optional
-
build
public static AttributeInfo build(java.lang.String name, java.lang.Class<?> type, java.util.Set<AttributeInfo.Flags> flags)
Convenience method to create an AttributeInfo. Equivalent tonew AttributeInfoBuilder(name,type).setFlags(flags).build()
- Parameters:
name
- The name of the attributetype
- The type of the attributeflags
- The flags for the attribute. Null means clear all flags- Returns:
- The attribute info
-
build
public static AttributeInfo build(java.lang.String name, java.lang.Class<?> type)
Convenience method to create an AttributeInfo. Equivalent toAttributeInfoBuilder.build(name,type,null)
- Parameters:
name
- The name of the attributetype
- The type of the attribute- Returns:
- The attribute info
-
build
public static AttributeInfo build(java.lang.String name)
Convenience method to create an AttributeInfo. Equivalent toAttributeInfoBuilder.build(name, String.class)
- Parameters:
name
- The name of the attribute- Returns:
- The attribute info
-
define
public static AttributeInfoBuilder define(java.lang.String name)
Convenience method to create a new AttributeInfoBuilder. Equivalent to:new AttributeInfoBuilder(name, String.class)
- Parameters:
name
- The name of the attribute- Returns:
- The attribute info builder with predefined name and type value.
- Since:
- 1.4
-
define
public static AttributeInfoBuilder define(java.lang.String name, java.lang.Class<?> type)
Convenience method to create a new AttributeInfoBuilder. Equivalent to:new AttributeInfoBuilder(name, type)
- Parameters:
name
- The name of the attributetype
- The type of the attribute- Returns:
- The attribute info builder with predefined name and type value.
- Since:
- 1.4
-
-