public void setMetaData ( String key , String val ) throws XMPPException , SmackException , InterruptedException { synchronized ( this . metaData ) { List < String > oldVals = metaData . get ( key ) ; if ( oldVals == null || ! oldVals . get ( 0 ) . equals ( val ) ) { oldVals . set ( 0 , val ) ; setStatus ( presenceMode , maxChats ) ; } } }
Allows the addition of a new key - value pair to the agent s meta data if the value is new data the revised meta data will be rebroadcast in an agent s presence broadcast .