/hudson-core/src/main/java/hudson/model/StatusIcon.java

http://github.com/hudson/hudson · Java · 59 lines · 5 code · 2 blank · 52 comment · 0 complexity · 4bf6cdd9e74000b35358aa2e4dc56a3d MD5 · raw file

  1. /*
  2. * The MIT License
  3. *
  4. * Copyright (c) 2010, CloudBees, Inc.
  5. *
  6. * Permission is hereby granted, free of charge, to any person obtaining a copy
  7. * of this software and associated documentation files (the "Software"), to deal
  8. * in the Software without restriction, including without limitation the rights
  9. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10. * copies of the Software, and to permit persons to whom the Software is
  11. * furnished to do so, subject to the following conditions:
  12. *
  13. * The above copyright notice and this permission notice shall be included in
  14. * all copies or substantial portions of the Software.
  15. *
  16. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  22. * THE SOFTWARE.
  23. */
  24. package hudson.model;
  25. /**
  26. * {@link Item} can return this from the "getIconColor" method so that
  27. * its "status icon" can be shown in Hudson UI.
  28. *
  29. * <p>
  30. * For future compatibility, please extend from {@link AbstractStatusIcon}
  31. * instead of implementing this directly, so that we can add methods later.
  32. *
  33. * <p>
  34. * This is a generalization of {@link BallColor}.
  35. *
  36. * @author Kohsuke Kawaguchi
  37. * @since 1.390
  38. * @see StockStatusIcon
  39. */
  40. public interface StatusIcon {
  41. /**
  42. * Returns the URL to the image.
  43. *
  44. * @param size
  45. * The size specified. Must support "16x16", "24x24", and "32x32" at least.
  46. * For forward compatibility, if you receive a size that's not supported,
  47. * consider returning your biggest icon (and let the browser rescale.)
  48. * @return
  49. * The URL is rendered as is in the img @src attribute, so it must contain
  50. * the context path, etc.
  51. */
  52. String getImageOf(String size);
  53. /**
  54. * Gets the human-readable description used as img/@alt.
  55. */
  56. String getDescription();
  57. }