Class AttributeInfoBuilder

java.lang.Object
org.identityconnectors.framework.common.objects.AttributeInfoBuilder

public final class AttributeInfoBuilder extends Object
Simplifies the process of building 'AttributeInfo' objects. This class is responsible for providing a default implementation of AttributeInfo. AttributeInfoBuilder bld = new AttributeInfoBuilder("email"); bld.setRequired(true); AttributeInfo info = bld.build();
Since:
1.0
  • Constructor Details

    • AttributeInfoBuilder

      public AttributeInfoBuilder()
      Creates an builder with all the defaults set. The name must be set before the 'build' method is called otherwise an IllegalStateException is thrown.
       Name: <not set>
       Readable: true
       Writeable: true
       Required: false
       Type: string
       MultiValue: false
       
    • AttributeInfoBuilder

      public AttributeInfoBuilder(String name)
      Creates an builder with all the defaults set. The name must be set before the 'build' method is called otherwise an IllegalStateException is thrown.
       Name: <not set>
       Readable: true
       Writeable: true
       Required: false
       Type: string
       MultiValue: false
       
    • AttributeInfoBuilder

      public AttributeInfoBuilder(String name, Class<?> type)
      Creates an builder with all the defaults set. The name must be set before the 'build' method is called otherwise an IllegalStateException is thrown.
       Name: <not set>
       Readable: true
       Writeable: true
       Required: false
       Type: string
       MultiValue: false
       
  • Method Details

    • build

      public AttributeInfo build()
      Builds an AttributeInfo object based on the properties set.
      Returns:
      AttributeInfo based on the properties set.
    • setName

      public AttributeInfoBuilder setName(String name)
      Sets the unique name of the AttributeInfo object.
      Parameters:
      name - unique name of the AttributeInfo object.
    • setType

      public AttributeInfoBuilder setType(Class<?> value)
      Please see FrameworkUtil.checkAttributeType(Class) for the definitive list of supported types.
      Parameters:
      value - type for an Attribute's value.
      Throws:
      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(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(String name, Class<?> type, Set<AttributeInfo.Flags> flags)
      Convenience method to create an AttributeInfo. Equivalent to new AttributeInfoBuilder(name,type).setFlags(flags).build()
      Parameters:
      name - The name of the attribute
      type - The type of the attribute
      flags - The flags for the attribute. Null means clear all flags
      Returns:
      The attribute info
    • build

      public static AttributeInfo build(String name, Class<?> type)
      Convenience method to create an AttributeInfo. Equivalent to AttributeInfoBuilder.build(name,type,null)
      Parameters:
      name - The name of the attribute
      type - The type of the attribute
      Returns:
      The attribute info
    • build

      public static AttributeInfo build(String name)
      Convenience method to create an AttributeInfo. Equivalent to AttributeInfoBuilder.build(name, String.class)
      Parameters:
      name - The name of the attribute
      Returns:
      The attribute info
    • define

      public static AttributeInfoBuilder define(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(String name, Class<?> type)
      Convenience method to create a new AttributeInfoBuilder. Equivalent to: new AttributeInfoBuilder(name, type)
      Parameters:
      name - The name of the attribute
      type - The type of the attribute
      Returns:
      The attribute info builder with predefined name and type value.
      Since:
      1.4