Advertisement
Guest User

Untitled

a guest
Aug 27th, 2015
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. package org.nullbool.editor.util;
  2.  
  3. import java.util.concurrent.atomic.AtomicReference;
  4.  
  5. /**
  6. * @author Bibl (don't ban me pls)
  7. * @created 27 Aug 2015 23:47:25
  8. */
  9. public class PrefixedStringBuilder extends PrinterStringBuilder {
  10.  
  11. private final AtomicReference<String> prefix;
  12.  
  13. public PrefixedStringBuilder() {
  14. this("");
  15. }
  16.  
  17. public PrefixedStringBuilder(String prefix) {
  18. this.prefix = new AtomicReference<String>(prefix);
  19. }
  20.  
  21. public void setPrefix(String prefix) {
  22. synchronized (this.prefix) {
  23. if(prefix != null) {
  24. this.prefix.set(prefix);
  25. }
  26. }
  27. }
  28.  
  29. public String getPrefix() {
  30. synchronized (prefix) {
  31. return prefix.get();
  32. }
  33. }
  34.  
  35. @Override
  36. public PrinterStringBuilder ln() {
  37. PrinterStringBuilder ret = super.ln();
  38. synchronized (this.prefix) {
  39. String prefix = this.prefix.get();
  40. if(prefix != null) {
  41. append(prefix);
  42. }
  43. }
  44. return ret;
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement