Class ProductAttribute


  • public class ProductAttribute
    extends Attribute
    Represents an attribute in a IpsProductCmptType.
    • Constructor Detail

      • ProductAttribute

        public ProductAttribute​(Type type,
                                boolean changingOverTime,
                                java.lang.reflect.Method getter,
                                java.lang.reflect.Method setter)
    • Method Detail

      • isProductRelevant

        public boolean isProductRelevant()
        Description copied from class: Attribute
        Returns true if this attribute is configured by the product. Product attributes are always product relevant.
        Specified by:
        isProductRelevant in class Attribute
        Returns:
        true if this attribute is configured by the product, false if not
      • createOverwritingAttributeFor

        public Attribute createOverwritingAttributeFor​(Type subType)
        Description copied from class: Attribute
        Creates an attribute model for a sub type in which this attribute is overwritten. This is necessary to retrieve information contained in the class annotation such as labels if no getter is generated for the overwritten attribute in the sub class.
        Specified by:
        createOverwritingAttributeFor in class Attribute
        Parameters:
        subType - a model type representing a sub type of this attribute's model type
        Returns:
        a Attribute for the given sub model type
      • getValue

        public java.lang.Object getValue​(IProductComponent productComponent,
                                         java.util.Calendar effectiveDate)
        Returns the value of this attribute in the given product component (or its generation identified by the effectiveDate, if the attribute is changeable over time).

        It is safe to cast the returned object to the class returned by Attribute.getDatatype(), except when the attribute is a multi-value attribute - then a List is returned (and it's contents can be cast to the class returned by Attribute.getDatatype()).

        Parameters:
        productComponent - a product component based on the product component type this attribute belongs to.
        effectiveDate - (optional) the date to use for selecting the product component's generation, if this attribute Attribute.isChangingOverTime()