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

https://bitbucket.org/mmeinhold/amps · Java · 70 lines · 55 code · 12 blank · 3 comment · 0 complexity · a14d12d893b9f505953e17144ea1e497 MD5 · raw file

  1. package com.atlassian.plugins.codegen.modules;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Properties;
  5. import com.google.common.collect.ImmutableMap;
  6. import com.google.common.collect.Maps;
  7. /**
  8. * @since 3.6
  9. */
  10. public abstract class AbstractPluginModuleProperties extends Properties implements PluginModuleProperties
  11. {
  12. protected boolean includeExamples;
  13. protected Map<String, String> i18nProperties;
  14. protected AbstractPluginModuleProperties()
  15. {
  16. super();
  17. i18nProperties = Maps.newHashMap();
  18. includeExamples = false;
  19. setProductId("RefApp");
  20. }
  21. protected AbstractPluginModuleProperties(AbstractPluginModuleProperties from)
  22. {
  23. super();
  24. putAll(from);
  25. i18nProperties = new HashMap(from.i18nProperties);
  26. includeExamples = from.includeExamples;
  27. }
  28. @Override
  29. public void setProductId(String id)
  30. {
  31. setProperty(PRODUCT_ID, id);
  32. }
  33. @Override
  34. public String getProductId()
  35. {
  36. return getProperty(PRODUCT_ID);
  37. }
  38. @Override
  39. public void setIncludeExamples(boolean includeExamples)
  40. {
  41. this.includeExamples = includeExamples;
  42. }
  43. @Override
  44. public boolean includeExamples()
  45. {
  46. return includeExamples;
  47. }
  48. @Override
  49. public void addI18nProperty(String name, String value)
  50. {
  51. i18nProperties.put(name, value);
  52. }
  53. @Override
  54. public ImmutableMap<String, String> getI18nProperties()
  55. {
  56. return ImmutableMap.copyOf(i18nProperties);
  57. }
  58. }