1 19 20 package edu.umd.cs.findbugs.ba; 21 22 public class ResourceValue { 23 private ResourceValue() { 24 } 25 26 private static final ResourceValue instance = new ResourceValue(); 27 private static final ResourceValue notInstance = new ResourceValue(); 28 29 public static ResourceValue instance() { 30 return instance; 31 } 32 33 public static ResourceValue notInstance() { 34 return notInstance; 35 } 36 37 public static ResourceValue merge(ResourceValue a, ResourceValue b) { 38 if (a == notInstance && b == notInstance) 39 return notInstance; 40 else 41 return instance; 42 } 43 44 public boolean isInstance() { 45 return this == instance; 46 } 47 48 @Override 49 public String toString() { 50 return (this == instance) ? "I" : "-"; 51 } 52 } 53 54 | Popular Tags |