1 29 38 39 package org.planetamessenger.plugin; 40 41 import java.util.*; 42 43 44 public class JPluginCapabilities extends HashMap<String , String > { 45 46 private static final String TRUE_VALUE = "true"; 47 private static final String FALSE_VALUE = "false"; 48 49 public static final String CAPABILITY_FILE_TRANSFER = "file-transfer"; 50 public static final String CAPABILITY_OFFLINE_MESSAGE = "offline-message"; 51 public static final String CAPABILITY_FORMATTED_MESSAGE = "formatted-message"; 52 public static final String CAPABILITY_EMOTICONS = "emoticons"; 53 public static final String CAPABILITY_UPDATE_SCREEN_NAME = "update-screen-name"; 54 public static final String CAPABILITY_REGISTER_NEW_USER = "register-new-user"; 55 public static final String CAPABILITY_REMOVE_CONTACT_WHEN_DISCONNECTED = "remove-contact-when-disconnected"; 56 public static final String CAPABILITY_PRIVACY_CONTROL_ENABLED = "privacy-control-enabled"; 57 public static final String CAPABILITY_BLOCK_CONTACT = "block-user"; 58 59 60 63 public JPluginCapabilities() { 64 65 super(); 66 clear(); 67 } 68 69 74 public void putBool( String strKey, boolean bValue ) { 75 76 if( bValue ) 77 put( strKey, TRUE_VALUE ); 78 else 79 put( strKey, FALSE_VALUE ); 80 } 81 82 86 public boolean getBool( String strKey ) { 87 88 String strValue = get( strKey ); 89 90 if( strValue != null ) 91 if( strValue.compareTo( TRUE_VALUE ) == 0 ) 92 return true; 93 94 return false; 95 } 96 97 101 public String getString( String strKey ) { 102 103 String strValue = get( strKey ); 104 105 if( strValue != null ) 106 return strValue; 107 108 return null; 109 } 110 111 114 public static final JPluginCapabilities getDefault() { 115 116 JPluginCapabilities capabilities = new JPluginCapabilities(); 117 118 capabilities.put( JPluginCapabilities.CAPABILITY_FILE_TRANSFER, JPluginCapabilities.FALSE_VALUE ); 120 capabilities.put( JPluginCapabilities.CAPABILITY_OFFLINE_MESSAGE, JPluginCapabilities.FALSE_VALUE ); 121 capabilities.put( JPluginCapabilities.CAPABILITY_EMOTICONS, JPluginCapabilities.FALSE_VALUE ); 122 capabilities.put( JPluginCapabilities.CAPABILITY_FORMATTED_MESSAGE, JPluginCapabilities.FALSE_VALUE ); 123 capabilities.put( JPluginCapabilities.CAPABILITY_UPDATE_SCREEN_NAME, JPluginCapabilities.FALSE_VALUE ); 124 capabilities.put( JPluginCapabilities.CAPABILITY_REGISTER_NEW_USER, JPluginCapabilities.FALSE_VALUE ); 125 capabilities.put( JPluginCapabilities.CAPABILITY_REMOVE_CONTACT_WHEN_DISCONNECTED, JPluginCapabilities.FALSE_VALUE ); 126 capabilities.put( JPluginCapabilities.CAPABILITY_PRIVACY_CONTROL_ENABLED, JPluginCapabilities.FALSE_VALUE ); 127 capabilities.put( JPluginCapabilities.CAPABILITY_BLOCK_CONTACT, JPluginCapabilities.FALSE_VALUE ); 128 129 return capabilities; 130 } 131 132 136 public Object clone() { 137 138 JPluginCapabilities capabilities = new JPluginCapabilities(); 139 Iterator iterator = entrySet().iterator(); 140 141 142 capabilities.clear(); 143 144 while( iterator.hasNext() ) { 145 Map.Entry<String , String > entry = ( Map.Entry<String , String > ) iterator.next(); 146 capabilities.put( entry.getKey(), entry.getValue() ); 147 } 148 149 return capabilities; 150 } 151 } 152 153 | Popular Tags |