/plugin-module-codegen-engine/src/main/java/com/atlassian/plugins/codegen/modules/AbstractNameBasedModuleProperties.java

https://bitbucket.org/mmeinhold/amps · Java · 113 lines · 92 code · 18 blank · 3 comment · 7 complexity · d28804882d3d35765e7723c8706f4f4c MD5 · raw file

  1. package com.atlassian.plugins.codegen.modules;
  2. import com.atlassian.plugins.codegen.util.ClassnameUtil;
  3. import com.google.common.collect.ImmutableMap;
  4. import org.apache.commons.lang.StringUtils;
  5. /**
  6. * @since 3.6
  7. */
  8. public abstract class AbstractNameBasedModuleProperties extends AbstractPluginModuleProperties implements NameBasedModuleProperties
  9. {
  10. protected AbstractNameBasedModuleProperties()
  11. {
  12. super();
  13. }
  14. protected AbstractNameBasedModuleProperties(AbstractNameBasedModuleProperties from)
  15. {
  16. super(from);
  17. }
  18. public void setModuleNameAndKey(String moduleName)
  19. {
  20. if (StringUtils.isNotBlank(moduleName))
  21. {
  22. setModuleName(moduleName);
  23. setModuleKey(ClassnameUtil.camelCaseOrSpaceToDashed(moduleName)
  24. .toLowerCase());
  25. setDescription("The " + getProperty(MODULE_NAME) + " Plugin");
  26. setNameI18nKey(getProperty(MODULE_KEY) + ".name");
  27. setDescriptionI18nKey(getProperty(MODULE_KEY) + ".description");
  28. }
  29. }
  30. @Override
  31. public void setModuleName(String name)
  32. {
  33. setProperty(MODULE_NAME, name);
  34. }
  35. @Override
  36. public String getModuleName()
  37. {
  38. return getProperty(MODULE_NAME);
  39. }
  40. @Override
  41. public void setModuleKey(String name)
  42. {
  43. setProperty(MODULE_KEY, name);
  44. }
  45. @Override
  46. public String getModuleKey()
  47. {
  48. return getProperty(MODULE_KEY);
  49. }
  50. @Override
  51. public void setDescription(String desc)
  52. {
  53. setProperty(DESCRIPTION, desc);
  54. }
  55. @Override
  56. public String getDescription()
  57. {
  58. return getProperty(DESCRIPTION);
  59. }
  60. @Override
  61. public void setDescriptionI18nKey(String key)
  62. {
  63. setProperty(DESCRIPTION_I18N_KEY, key);
  64. }
  65. @Override
  66. public String getDescriptionI18nKey()
  67. {
  68. return getProperty(DESCRIPTION_I18N_KEY);
  69. }
  70. @Override
  71. public void setNameI18nKey(String key)
  72. {
  73. setProperty(NAME_I18N_KEY, key);
  74. }
  75. @Override
  76. public String getNameI18nKey()
  77. {
  78. return getProperty(NAME_I18N_KEY);
  79. }
  80. @Override
  81. public ImmutableMap<String, String> getI18nProperties()
  82. {
  83. ImmutableMap.Builder<String, String> ret = ImmutableMap.<String, String>builder();
  84. ret.putAll(super.getI18nProperties());
  85. if (getNameI18nKey() != null)
  86. {
  87. ret.put(getNameI18nKey(), (getModuleName() == null) ? "" : getModuleName());
  88. }
  89. if (getDescriptionI18nKey() != null)
  90. {
  91. ret.put(getDescriptionI18nKey(), (getDescription() == null) ? "" : getDescription());
  92. }
  93. return ret.build();
  94. }
  95. }