1 28 29 package com.caucho.jms.selector; 30 31 import com.caucho.util.IntMap; 32 import com.caucho.util.L10N; 33 34 import javax.jms.JMSException ; 35 import javax.jms.Message ; 36 37 40 public class IdentifierSelector extends Selector { 41 static L10N L = new L10N(Selector.class); 42 43 static final IntMap _specialSelectors; 44 45 private String _name; 46 47 private IdentifierSelector(String name) 48 { 49 _name = name; 50 } 51 52 static Selector create(String name) 53 { 54 int type = _specialSelectors.get(name.toLowerCase()); 55 56 if (type >= 0) 57 return new SpecialIdentifierSelector(type); 58 59 return new IdentifierSelector(name); 60 } 61 62 66 Object evaluate(Message message) 67 throws JMSException 68 { 69 return message.getObjectProperty(_name); 70 } 71 72 public String toString() 73 { 74 return _name; 75 } 76 77 static { 78 _specialSelectors = new IntMap(); 79 80 _specialSelectors.put("jmsdeliverymode", SpecialIdentifierSelector.JMS_DELIVERY_MODE); 81 _specialSelectors.put("jmspriority", SpecialIdentifierSelector.JMS_PRIORITY); 82 _specialSelectors.put("jmsmessageid", SpecialIdentifierSelector.JMS_MESSAGE_ID); 83 _specialSelectors.put("jmstimestamp", SpecialIdentifierSelector.JMS_TIMESTAMP); 84 _specialSelectors.put("jmscorrelationid", SpecialIdentifierSelector.JMS_CORRELATION_ID); 85 _specialSelectors.put("jmstype", SpecialIdentifierSelector.JMS_TYPE); 86 } 87 } 88 | Popular Tags |