com.endeca.portal.mdex
Class MDEXAttribute

java.lang.Object
  extended by com.endeca.portal.mdex.MDEXAttribute
All Implemented Interfaces:
java.io.Serializable

public class MDEXAttribute
extends java.lang.Object
implements java.io.Serializable

Wraps a key properties object, providing easy access to common (default) key properties, including: - Endeca.Type - Endeca.DimensionId - Endeca.MultiSelect - Endeca.RecordFilterable - Endeca.PrecedenceRule

Author:
Endeca Technologies, Inc.
See Also:
Serialized Form

Nested Class Summary
static class MDEXAttribute.PropertyType
           
 
Constructor Summary
protected MDEXAttribute(com.endeca.mdex.conversation.Record attribute, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dimensionsMap)
          Constructor for a v7 attribute
protected MDEXAttribute(java.lang.String dsid, com.endeca.navigation.KeyProperties keyProps)
          Deprecated. 
 
Method Summary
 long getDimId()
           
 java.lang.String getDisplayName()
          Returns the appropriate display name for this attribute.
 java.lang.String getName()
           
 long getPrecedenceParentDimid()
           
 java.util.Collection<java.lang.String> getProperties(java.lang.String name)
           
 java.lang.String getProperty(java.lang.String name)
           
 java.lang.String getSpec()
           
 MDEXAttribute.PropertyType getType()
           
 boolean isAttributeValueSearchEnabled()
           
 boolean isDateTimeProperty()
           
 boolean isDimension()
           
 boolean isMultiSelectAnd()
           
 boolean isMultiSelectOr()
           
 boolean isNavigable()
           
 boolean isNumericProperty()
           
 boolean isRecordFilterable()
           
 boolean isSingleAssign()
           
 boolean isUnique()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MDEXAttribute

@Deprecated
protected MDEXAttribute(java.lang.String dsid,
                                   com.endeca.navigation.KeyProperties keyProps)
Deprecated. 

Constructor for a v6 attribute


MDEXAttribute

protected MDEXAttribute(com.endeca.mdex.conversation.Record attribute,
                        java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dimensionsMap)
Constructor for a v7 attribute

Method Detail

getProperty

public java.lang.String getProperty(java.lang.String name)

getProperties

public java.util.Collection<java.lang.String> getProperties(java.lang.String name)

getPrecedenceParentDimid

public long getPrecedenceParentDimid()

isRecordFilterable

public boolean isRecordFilterable()

getDimId

public long getDimId()

isDimension

public boolean isDimension()

isNumericProperty

public boolean isNumericProperty()

isDateTimeProperty

public boolean isDateTimeProperty()

isSingleAssign

public boolean isSingleAssign()

isUnique

public boolean isUnique()

isMultiSelectOr

public boolean isMultiSelectOr()

isMultiSelectAnd

public boolean isMultiSelectAnd()

isNavigable

public boolean isNavigable()

isAttributeValueSearchEnabled

public boolean isAttributeValueSearchEnabled()

getName

public java.lang.String getName()

getSpec

public java.lang.String getSpec()

getDisplayName

public java.lang.String getDisplayName()
Returns the appropriate display name for this attribute. MDEX 7 supports display names from the MDEX, while MDEX 6 does not. We should be using DataSource.supportsFeature() to detect that. But, since we already have 6 vs. 7 constructors in this class, we can detect display name support without requiring a reference to the DataSource object in the MDEXAttribute class. Since MDEXAttribute is session-cached, we want to keep it as light as possible.

Returns:
the display name

getType

public MDEXAttribute.PropertyType getType()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object