Class 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 of AttributeInfo. AttributeInfoBuilder bld = new AttributeInfoBuilder("email"); bld.setRequired(true); AttributeInfo info = bld.build();
    Since:
    1.0
    • 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 an IllegalStateException 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 an IllegalStateException 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 an IllegalStateException is thrown.
         Name: <not set>
         Readable: true
         Writeable: true
         Required: false
         Type: string
         MultiValue: false
         
    • Method Detail

      • 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.
      • 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 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​(java.lang.String name,
                                          java.lang.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​(java.lang.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​(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 attribute
        type - The type of the attribute
        Returns:
        The attribute info builder with predefined name and type value.
        Since:
        1.4