container/profiles/src/main/java/org/mobicents/slee/container/profile/ProfileTableImpl.java
private Collection<ProfileEntity> getProfileEntitiesByAttribute(
			String attributeName, Object attributeValue, boolean isSlee11)
			throws UnrecognizedAttributeException,
			AttributeNotIndexedException, AttributeTypeMismatchException,
			SLEEException {
    
		if (logger.isDebugEnabled()) {
			logger.debug("getProfileEntitiesByAttribute( attributeName = "+attributeName+" , attributeValue = "+attributeValue+" , isSlee11 = "+isSlee11+" )");
		}
		
		ProfileAttribute profileAttribute = getProfileAttribute(attributeName, attributeValue);
		
		if (isSlee11)  {
			// validate attr value type
			if (!ProfileTableImpl.PROFILE_ATTR_ALLOWED_TYPES.contains(attributeValue.getClass().getName())) {
				throw new AttributeTypeMismatchException(attributeValue.getClass()+" is not a valid profile attribute value type");
			}
		}
		else {
			if (!profileAttribute.isIndex()) {
				throw new AttributeNotIndexedException(component.toString()+" defines an attribute named "+attributeName+" but not indexed");
			}
		}
		
		return component.getProfileEntityFramework().findProfilesByAttribute(this.getProfileTableName(), profileAttribute, attributeValue);
	}
private Collection<ProfileEntity> getProfileEntitiesByAttribute(
			String attributeName, Object attributeValue, boolean isSlee11)
			throws UnrecognizedAttributeException,
			AttributeNotIndexedException, AttributeTypeMismatchException,
			SLEEException {
    
		if (logger.isDebugEnabled()) {
			logger.debug("getProfileEntitiesByAttribute( attributeName = "+attributeName+" , attributeValue = "+attributeValue+" , isSlee11 = "+isSlee11+" )");
		}
		
		ProfileAttribute profileAttribute = getProfileAttribute(attributeName, attributeValue);
		
		if (isSlee11)  {
			// validate attr value type
			if (!ProfileTableImpl.PROFILE_ATTR_ALLOWED_TYPES.contains(attributeValue.getClass().getName())) {
				throw new AttributeTypeMismatchException(attributeValue.getClass()+" is not a valid profile attribute value type");
			}
		}
		else {
			if (!profileAttribute.isIndex()) {
				throw new AttributeNotIndexedException(component.toString()+" defines an attribute named "+attributeName+" but not indexed");
			}
		}
		
		return component.getProfileEntityFramework().findProfilesByAttribute(this.getProfileTableName(), profileAttribute, attributeValue);
	}
Retrieves the {@link ProfileEntity}s from the persistent store, matching specified attribute name and value type
@param attributeName
@param attributeValue
@param isSlee11
@return
@throws UnrecognizedAttributeException
@throws AttributeNotIndexedException
@throws AttributeTypeMismatchException
@throws SLEEException