com.endeca.portal.attributes.viewmodel
Class Attribute

java.lang.Object
  extended by com.endeca.portal.attributes.model.BasePropertyContainer
      extended by com.endeca.portal.attributes.viewmodel.Attribute

public class Attribute
extends BasePropertyContainer

Represents an attribute object serializable via Jackson

Author:
Endeca Technologies, Inc

Field Summary
static java.lang.String APPROX_CARDINALITY_PROPERTY
           
static java.lang.String AVAILABLE_AGGREGATIONS_PROPERTY
           
static java.lang.String AVAILABLE_DATETIME_PARTS_PROPERTY
           
static java.lang.String DATA_TYPE_PROPERTY
           
static java.lang.String DATETIME_COMBOS_ENABLED_PROPERTY
           
static java.lang.String DATETIME_FINEST_LEVEL_PROPERTY
           
static java.lang.String DEFAULT_AGGREGATION_PROPERTY
           
static java.lang.String DEFAULT_CASCADE_DATETIME_PARTS_PROPERTY
           
static java.lang.String DEFAULT_DATETIME_PARTS_PROPERTY
           
static java.lang.String DEFAULT_DESCRIPTION_PROPERTY
           
static java.lang.String DEFAULT_DISPLAY_NAME_PROPERTY
           
static java.lang.String DESCRIPTION_PROPERTY
           
static java.lang.String DISPLAY_NAME_PROPERTY
           
static java.lang.String FORMATTER_PROPERTY
           
static java.lang.String IS_DIMENSION_PROPERTY
           
static java.lang.String IS_KEY_COLUMN_PROPERTY
           
static java.lang.String IS_MANAGED
           
static java.lang.String IS_REFINEABLE_PROPERTY
           
static java.lang.String IS_SINGLE_ASSIGN_PROPERTY
           
static java.lang.String IS_VALUE_SEARCHABLE
           
static java.lang.String LOCALIZED_ATTRIBUTE_METADATA
           
static java.lang.String LOCALIZED_DESCRIPTION_PROPERTY
           
static java.lang.String LOCALIZED_DISPLAY_NAME_PROPERTY
           
static java.lang.String MDEX_TYPE_PROPERTY
           
static java.lang.String NAVIGATION_ORDERING_PROPERTY
          Lexical/Dynamic
static java.lang.String REFINEMENT_BEHAVIOR_PROPERTY
          Single, Multi-AND, Multi-OR
static java.lang.String REFINEMENT_SELECTION_MODE
           
 
Fields inherited from class com.endeca.portal.attributes.model.BasePropertyContainer
KEY_PROPERTY, properties
 
Constructor Summary
Attribute()
           
 
Method Summary
static java.lang.String convertLocalizedMetadataMapToString(java.util.Map<java.lang.String,java.lang.String> localizedMetadataMap)
          Utility function to get the string based representation of the locale metadata
static java.util.Map<java.lang.String,java.lang.String> convertLocalizedMetadataToMap(java.lang.String localizedMetadata)
          Utility function to get the locale-attribute mappings in a Map object.
 java.lang.String getApproxCardinality()
           
 java.lang.String getAvailableAggregations()
           
 java.lang.String getAvailableDateTimeParts()
           
 java.lang.String getDatatype()
           
 java.lang.String getDatetimeCombosEnabled()
           
 java.util.List<java.util.List<DatePart>> getDatetimeCombosEnabledAsList()
           
 java.lang.String getDateTimeFinestLevel()
           
 java.lang.String getDefaultAggregation()
           
 java.lang.String getDefaultCascadeDateTimeParts()
           
 java.lang.String getDefaultDateTimeParts()
           
 java.lang.String getDefaultDescription()
          Get the default Description
 java.lang.String getDefaultDisplayName()
          Get the Display name for the system default
 java.lang.String getDefaultLocaleAttributeKey()
          Get default locale attribute key for this attribute
 java.lang.String getDescription()
           
 java.lang.String getDescription(java.util.Locale locale)
          Get description by locale settings
 java.lang.String getDescription(javax.portlet.PortletRequest request)
          Get description by request
 java.lang.String getDescription(java.lang.String languageId)
          Get description bu language id
 java.lang.String getDisplayName()
           
 java.lang.String getDisplayName(java.util.Locale locale)
          Get display name by locale settings
 java.lang.String getDisplayName(javax.portlet.PortletRequest request)
          Get display name by request
 java.lang.String getDisplayName(java.lang.String languageId)
          Get display name by language id
 java.lang.String getFormatter()
           
 java.lang.String getLocalizedAttributeMetadata()
           
 java.util.Map<java.lang.String,java.lang.String> getLocalizedAttributeMetadataMap()
          Getter that also sets the map on the Attribute object if it has not been created already
 java.lang.String getLocalizedDescription()
           
 java.lang.String getLocalizedDisplayName()
           
 java.lang.String getNavigationOrder()
           
 RefinementSelectionMode getRefinementSelectionMode()
          Gets the refinement selection mode of this attribute.
 PropertyType getType()
          Gets the data type of this attribute.
 boolean isAttributeValueSearchEnabled()
          Indicates if this attribute is enabled for and can be used in a value search.
 boolean isDimension()
           
 boolean isKeyColumn()
           
 boolean isManaged()
          Indicates if this attribute is a Managed Attribute in Endeca Server.
 boolean isRefineable()
           
 boolean isSingleAssign()
           
 void setApproxCardinality(java.lang.String approxCardinality)
          Set approx cardinality value
 void setAttributeValueSearchEnabled(boolean isValueSearchable)
           
 void setAvailableAggregations(java.lang.String availableAggregations)
          Sets the Available Aggregations
 void setAvailableDateTimeParts(java.lang.String availableDateTimeParts)
           
 void setDatatype(java.lang.String dataType)
          Sets the dataType
 void setDatetimeCombosEnabled(java.lang.String dateTimeCombosEnabled)
           
 void setDateTimeFinestLevel(java.lang.String defaultDateTimeFinestLevel)
           
 void setDefaultAggregation(java.lang.String defaultAggregation)
          Sets the Default Aggregation
 void setDefaultCascadeDateTimeParts(java.lang.String defaultCascadeDateTimeParts)
           
 void setDefaultDateTimeParts(java.lang.String defaultDateTimeParts)
           
 void setDefaultDescription(java.lang.String description)
          Set the default description
 void setDefaultDisplayName(java.lang.String displayName)
          Set the Default Display Name
 void setDefaultLocaleAttributeKey(java.lang.String attributeKey)
          Set default locale attribute key for this attribute
 void setDescription(java.lang.String description)
          Sets the description
 void setDimension(boolean isDimension)
          Sets whether or not this is a dimension
 void setDisplayName(java.lang.String displayName)
           
 void setFormatter(java.lang.String formatter)
          Sets the Formatter
 void setKeyColumn(boolean isKeyColumn)
          Sets whether or not this is Key Column
 void setLocalizedAttributeMetadata(java.lang.String value)
          Set localized attribute metadata.
 void setLocalizedDescription(java.lang.String description)
           
 void setLocalizedDisplayName(java.lang.String displayName)
           
 void setManaged(boolean managed)
           
 void setNavigationOrder(java.lang.String order)
          Sets the navigation order
 void setRefineable(boolean isRefineable)
          Sets whether or not this is refineable
 void setRefinementSelectionMode(RefinementSelectionMode mode)
           
 void setSingleAssign(boolean isSingleAssign)
          Sets whether or not this is Single Assign
 
Methods inherited from class com.endeca.portal.attributes.model.BasePropertyContainer
addProperty, getKey, getProperties, getProperty, getProperty, isEmpty, isValid, setKey, setProperties, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DISPLAY_NAME_PROPERTY

public static final java.lang.String DISPLAY_NAME_PROPERTY
See Also:
Constant Field Values

LOCALIZED_DISPLAY_NAME_PROPERTY

public static final java.lang.String LOCALIZED_DISPLAY_NAME_PROPERTY
See Also:
Constant Field Values

DEFAULT_DISPLAY_NAME_PROPERTY

public static final java.lang.String DEFAULT_DISPLAY_NAME_PROPERTY
See Also:
Constant Field Values

DESCRIPTION_PROPERTY

public static final java.lang.String DESCRIPTION_PROPERTY
See Also:
Constant Field Values

LOCALIZED_DESCRIPTION_PROPERTY

public static final java.lang.String LOCALIZED_DESCRIPTION_PROPERTY
See Also:
Constant Field Values

DEFAULT_DESCRIPTION_PROPERTY

public static final java.lang.String DEFAULT_DESCRIPTION_PROPERTY
See Also:
Constant Field Values

LOCALIZED_ATTRIBUTE_METADATA

public static final java.lang.String LOCALIZED_ATTRIBUTE_METADATA
See Also:
Constant Field Values

DATA_TYPE_PROPERTY

public static final java.lang.String DATA_TYPE_PROPERTY
See Also:
Constant Field Values

IS_DIMENSION_PROPERTY

public static final java.lang.String IS_DIMENSION_PROPERTY
See Also:
Constant Field Values

IS_SINGLE_ASSIGN_PROPERTY

public static final java.lang.String IS_SINGLE_ASSIGN_PROPERTY
See Also:
Constant Field Values

IS_MANAGED

public static final java.lang.String IS_MANAGED
See Also:
Constant Field Values

IS_VALUE_SEARCHABLE

public static final java.lang.String IS_VALUE_SEARCHABLE
See Also:
Constant Field Values

REFINEMENT_SELECTION_MODE

public static final java.lang.String REFINEMENT_SELECTION_MODE
See Also:
Constant Field Values

MDEX_TYPE_PROPERTY

public static final java.lang.String MDEX_TYPE_PROPERTY
See Also:
Constant Field Values

REFINEMENT_BEHAVIOR_PROPERTY

public static final java.lang.String REFINEMENT_BEHAVIOR_PROPERTY
Single, Multi-AND, Multi-OR

See Also:
Constant Field Values

NAVIGATION_ORDERING_PROPERTY

public static final java.lang.String NAVIGATION_ORDERING_PROPERTY
Lexical/Dynamic

See Also:
Constant Field Values

IS_KEY_COLUMN_PROPERTY

public static final java.lang.String IS_KEY_COLUMN_PROPERTY
See Also:
Constant Field Values

IS_REFINEABLE_PROPERTY

public static final java.lang.String IS_REFINEABLE_PROPERTY
See Also:
Constant Field Values

AVAILABLE_AGGREGATIONS_PROPERTY

public static final java.lang.String AVAILABLE_AGGREGATIONS_PROPERTY
See Also:
Constant Field Values

DEFAULT_AGGREGATION_PROPERTY

public static final java.lang.String DEFAULT_AGGREGATION_PROPERTY
See Also:
Constant Field Values

AVAILABLE_DATETIME_PARTS_PROPERTY

public static final java.lang.String AVAILABLE_DATETIME_PARTS_PROPERTY
See Also:
Constant Field Values

DEFAULT_DATETIME_PARTS_PROPERTY

public static final java.lang.String DEFAULT_DATETIME_PARTS_PROPERTY
See Also:
Constant Field Values

DEFAULT_CASCADE_DATETIME_PARTS_PROPERTY

public static final java.lang.String DEFAULT_CASCADE_DATETIME_PARTS_PROPERTY
See Also:
Constant Field Values

DATETIME_FINEST_LEVEL_PROPERTY

public static final java.lang.String DATETIME_FINEST_LEVEL_PROPERTY
See Also:
Constant Field Values

DATETIME_COMBOS_ENABLED_PROPERTY

public static final java.lang.String DATETIME_COMBOS_ENABLED_PROPERTY
See Also:
Constant Field Values

FORMATTER_PROPERTY

public static final java.lang.String FORMATTER_PROPERTY
See Also:
Constant Field Values

APPROX_CARDINALITY_PROPERTY

public static final java.lang.String APPROX_CARDINALITY_PROPERTY
See Also:
Constant Field Values
Constructor Detail

Attribute

public Attribute()
Method Detail

setDisplayName

public void setDisplayName(java.lang.String displayName)
Parameters:
displayName - the displayName to set

getDisplayName

public java.lang.String getDisplayName()
Returns:
the displayName

getDisplayName

public java.lang.String getDisplayName(java.lang.String languageId)
Get display name by language id

Parameters:
languageId -
Returns:

getDisplayName

public java.lang.String getDisplayName(java.util.Locale locale)
Get display name by locale settings

Parameters:
locale -
Returns:

getDisplayName

public java.lang.String getDisplayName(javax.portlet.PortletRequest request)
Get display name by request

Parameters:
locale -
Returns:

getDefaultDisplayName

public java.lang.String getDefaultDisplayName()
Get the Display name for the system default

Returns:

setDefaultDisplayName

public void setDefaultDisplayName(java.lang.String displayName)
Set the Default Display Name

Parameters:
displayName -

setLocalizedDisplayName

public void setLocalizedDisplayName(java.lang.String displayName)
Parameters:
LocalizedDisplayName - the LocalizedDisplayName to set

getLocalizedDisplayName

public java.lang.String getLocalizedDisplayName()
Returns:
the LocalizedDisplayName

setDatatype

public void setDatatype(java.lang.String dataType)
Sets the dataType

Parameters:
dataType - the dataType to set

getDatatype

public java.lang.String getDatatype()
Returns:
the dataType

isDimension

public boolean isDimension()
Returns:
true if this is a dimension

setDimension

public void setDimension(boolean isDimension)
Sets whether or not this is a dimension

Parameters:
isDimension -

getLocalizedAttributeMetadata

public java.lang.String getLocalizedAttributeMetadata()
Returns:

setLocalizedAttributeMetadata

public void setLocalizedAttributeMetadata(java.lang.String value)
Set localized attribute metadata. (Info about locale-to-attribute mapping) Also clears the cached metadata map

Parameters:
value -

getLocalizedAttributeMetadataMap

public java.util.Map<java.lang.String,java.lang.String> getLocalizedAttributeMetadataMap()
Getter that also sets the map on the Attribute object if it has not been created already

Returns:

convertLocalizedMetadataToMap

public static java.util.Map<java.lang.String,java.lang.String> convertLocalizedMetadataToMap(java.lang.String localizedMetadata)
Utility function to get the locale-attribute mappings in a Map object.

Returns:

convertLocalizedMetadataMapToString

public static java.lang.String convertLocalizedMetadataMapToString(java.util.Map<java.lang.String,java.lang.String> localizedMetadataMap)
Utility function to get the string based representation of the locale metadata

Returns:

setDefaultLocaleAttributeKey

public void setDefaultLocaleAttributeKey(java.lang.String attributeKey)
Set default locale attribute key for this attribute

Parameters:
attributeKey -

getDefaultLocaleAttributeKey

public java.lang.String getDefaultLocaleAttributeKey()
Get default locale attribute key for this attribute

Returns:

setDescription

public void setDescription(java.lang.String description)
Sets the description

Parameters:
description - the description to set

getDescription

public java.lang.String getDescription()
Returns:
the description

getDescription

public java.lang.String getDescription(java.lang.String languageId)
Get description bu language id

Parameters:
languageId -
Returns:

getDescription

public java.lang.String getDescription(java.util.Locale locale)
Get description by locale settings

Parameters:
locale -
Returns:

getDescription

public java.lang.String getDescription(javax.portlet.PortletRequest request)
Get description by request

Parameters:
locale -
Returns:

getDefaultDescription

public java.lang.String getDefaultDescription()
Get the default Description

Returns:

setDefaultDescription

public void setDefaultDescription(java.lang.String description)
Set the default description

Parameters:
description -

setLocalizedDescription

public void setLocalizedDescription(java.lang.String description)
Parameters:
LocalizedDescription - the LocalizedDescription to set

getLocalizedDescription

public java.lang.String getLocalizedDescription()
Returns:
the LocalizedDescription

setNavigationOrder

public void setNavigationOrder(java.lang.String order)
Sets the navigation order

Parameters:
order - the navigation order to set

getNavigationOrder

public java.lang.String getNavigationOrder()
Returns:
the navigation order

isRefineable

public boolean isRefineable()
Returns:
true if this is refineable

setRefineable

public void setRefineable(boolean isRefineable)
Sets whether or not this is refineable

Parameters:
isRefineable -

isKeyColumn

public boolean isKeyColumn()
Returns:
true if this is key column

setKeyColumn

public void setKeyColumn(boolean isKeyColumn)
Sets whether or not this is Key Column

Parameters:
isKeyColumn -

setAvailableAggregations

public void setAvailableAggregations(java.lang.String availableAggregations)
Sets the Available Aggregations

Parameters:
availableAggregations - the Available Aggregations to set

getAvailableAggregations

public java.lang.String getAvailableAggregations()
Returns:
the Available Aggregations

setApproxCardinality

public void setApproxCardinality(java.lang.String approxCardinality)
Set approx cardinality value

Parameters:
approxCardinality - the approx cardinality value to set

getApproxCardinality

public java.lang.String getApproxCardinality()
Returns:
the approx cardinality value

setDefaultAggregation

public void setDefaultAggregation(java.lang.String defaultAggregation)
Sets the Default Aggregation

Parameters:
defaultAggregation - the Default Aggregation to set

getDefaultAggregation

public java.lang.String getDefaultAggregation()
Returns:
the Default Aggregation

setAvailableDateTimeParts

public void setAvailableDateTimeParts(java.lang.String availableDateTimeParts)

getAvailableDateTimeParts

public java.lang.String getAvailableDateTimeParts()

setDefaultDateTimeParts

public void setDefaultDateTimeParts(java.lang.String defaultDateTimeParts)

setDefaultCascadeDateTimeParts

public void setDefaultCascadeDateTimeParts(java.lang.String defaultCascadeDateTimeParts)

getDefaultDateTimeParts

public java.lang.String getDefaultDateTimeParts()

getDefaultCascadeDateTimeParts

public java.lang.String getDefaultCascadeDateTimeParts()

setDateTimeFinestLevel

public void setDateTimeFinestLevel(java.lang.String defaultDateTimeFinestLevel)

getDateTimeFinestLevel

public java.lang.String getDateTimeFinestLevel()

setDatetimeCombosEnabled

public void setDatetimeCombosEnabled(java.lang.String dateTimeCombosEnabled)

getDatetimeCombosEnabled

public java.lang.String getDatetimeCombosEnabled()

getDatetimeCombosEnabledAsList

public java.util.List<java.util.List<DatePart>> getDatetimeCombosEnabledAsList()
                                                                        throws java.lang.Exception
Throws:
java.lang.Exception

setFormatter

public void setFormatter(java.lang.String formatter)
Sets the Formatter

Parameters:
formatter - the description to set

getFormatter

public java.lang.String getFormatter()
Returns:
the Formatter

isSingleAssign

public boolean isSingleAssign()
Returns:
true if this is Single Assign(not multi-value)

setSingleAssign

public void setSingleAssign(boolean isSingleAssign)
Sets whether or not this is Single Assign

Parameters:
isRefineable -

isManaged

public boolean isManaged()
Indicates if this attribute is a Managed Attribute in Endeca Server. Managed attributes have a predefined value space, can be hierarchical, and can provide different additional metadata on value nodes (such as value display name).

Returns:
true if this attribute is a managed attribute

setManaged

public void setManaged(boolean managed)

isAttributeValueSearchEnabled

public boolean isAttributeValueSearchEnabled()
Indicates if this attribute is enabled for and can be used in a value search.

Returns:
true if the attribute is value searchable

setAttributeValueSearchEnabled

public void setAttributeValueSearchEnabled(boolean isValueSearchable)

getRefinementSelectionMode

public RefinementSelectionMode getRefinementSelectionMode()
Gets the refinement selection mode of this attribute.

Returns:
RefinementSelectionMode indicating mode. If unknown, single-select is returned.

setRefinementSelectionMode

public void setRefinementSelectionMode(RefinementSelectionMode mode)

getType

public PropertyType getType()
Gets the data type of this attribute.

Returns:
PropertyType indicating the attribute's data type. It could be PropertyType.UNKNOWN if no type information is available.