/** * Returns Multikey instance for given event and getters. * * @param theEvent - event to get property values from * @param propertyGetters - getters for access to properties * @return MultiKey with property values */ public static HashableMultiKey getMultiKey(EventBean theEvent, EventPropertyGetter[] propertyGetters) { Object[] keyValues = getPropertyArray(theEvent, propertyGetters); return new HashableMultiKey(keyValues); }
public static HashableMultiKey getMultiKey(EventBean theEvent, EventPropertyGetter[] propertyGetters, Class[] coercionTypes) { Object[] keyValues = getPropertyArray(theEvent, propertyGetters); if (coercionTypes == null) { return new HashableMultiKey(keyValues); } for (int i = 0; i < coercionTypes.length; i++) { Object key = keyValues[i]; if ((key != null) && (!key.getClass().equals(coercionTypes[i]))) { if (key instanceof Number) { key = JavaClassHelper.coerceBoxed((Number) key, coercionTypes[i]); keyValues[i] = key; } } } return new HashableMultiKey(keyValues); }
public static HashableMultiKey getMultiKey(EventBean[] eventsPerStream, ExprEvaluator[] evaluators, ExprEvaluatorContext context, Class[] coercionTypes) { Object[] keyValues = getPropertyArray(eventsPerStream, evaluators, context); if (coercionTypes == null) { return new HashableMultiKey(keyValues); } for (int i = 0; i < coercionTypes.length; i++) { Object key = keyValues[i]; if ((key != null) && (!key.getClass().equals(coercionTypes[i]))) { if (key instanceof Number) { key = JavaClassHelper.coerceBoxed((Number) key, coercionTypes[i]); keyValues[i] = key; } } } return new HashableMultiKey(keyValues); }