Class CustomerSegmentType
- java.lang.Object
 - 
- com.broadleafcommerce.customer.segments.CustomerSegmentType
 
 
- 
- All Implemented Interfaces:
 Serializable
public class CustomerSegmentType extends Object implements Serializable
Extensible enumeration defining customer segment types. (e.g. RULE_BASED, CUSTOMER_SET)Consumers wishing to add additional CustomerSegment types should extend this class with an implementation similar to the following:
{ @code public class CustomerSetSegmentType extends CustomerSegmentType { public static final CustomerSegmentType CUSTOMER_SET = new CustomerSetSegmentType("CUSTOMER_SET", true); protected CustomerSetSegmentType(String type, boolean includeCustomers) { super(type, includeCustomers); } } }For proper initialization, configuration is required. For example, to configure the type defined above, we would add the annotation
CustomerSegmentTypesto a Spring @Configuration class as such:{ @code @CustomerSegmentTypes({CustomerSetSegmentType.class}) @Configuration public class SpringConfigurationClass {} }- See Also:
 CustomerSegmentTypes, Serialized Form
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCustomerSegmentType.CustomerSegmentTypeConverter 
- 
Field Summary
Fields Modifier and Type Field Description static CustomerSegmentTypeCUSTOMER_SETA segment type with a pre-defined set of customers.static CustomerSegmentTypeRULE_BASEDA rule based segment type. 
- 
Constructor Summary
Constructors Modifier Constructor Description protectedCustomerSegmentType(@NonNull String type, boolean manuallyAddCustomers)Constructs aCustomerSegmentType. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancanEqual(Object other)booleancanManuallyAddCustomers()booleanequals(Object o)static CustomerSegmentTypefromString(String stringValue)static Collection<CustomerSegmentType>getAllIndexableTypes()Retrieve all registered customer segment types.static CustomerSegmentTypegetInstance(String type)Returns an instance of a customer segment based on its String type.StringgetType()inthashCode()StringtoString() 
 - 
 
- 
- 
Field Detail
- 
RULE_BASED
public static final CustomerSegmentType RULE_BASED
A rule based segment type. Segments of this type require specific criteria to be met for a customer to qualify. 
- 
CUSTOMER_SET
public static final CustomerSegmentType CUSTOMER_SET
A segment type with a pre-defined set of customers. 
 - 
 
- 
Constructor Detail
- 
CustomerSegmentType
protected CustomerSegmentType(@NonNull @NonNull String type, boolean manuallyAddCustomers)Constructs aCustomerSegmentType. The convention is to use all capital letters with spaces represented as underscores (_)manuallyAddCustomersindicates whether or not individual customers may be added to this segment type. Attempts to add a customer to, say, a rule based segment are likely a mistake in logic.- Parameters:
 type- the type of this customer segmentmanuallyAddCustomers- Can individual customers be manually added to this segment type?
 
 - 
 
- 
Method Detail
- 
getType
public final String getType()
- Returns:
 - The String representation of this segment type.
 
 
- 
canManuallyAddCustomers
public final boolean canManuallyAddCustomers()
- Returns:
 - Can individual customers be added to this segment type?
 
 
- 
getInstance
public static CustomerSegmentType getInstance(String type)
Returns an instance of a customer segment based on its String type.- Parameters:
 type- The type of this Customer Segment
 
- 
getAllIndexableTypes
public static Collection<CustomerSegmentType> getAllIndexableTypes()
Retrieve all registered customer segment types. 
- 
fromString
public static CustomerSegmentType fromString(String stringValue)
 
- 
canEqual
protected boolean canEqual(Object other)
 
 - 
 
 -