| |
| public class SomeServiceUsage { |
| |
| public SomeService getService() { |
| return SomeService.getInstanceNotNull(); |
| } |
| |
| public SomeService getServiceNullable() { |
| return SomeService.getInstanceNullable(); |
| } |
| |
| // elvis |
| public SomeService getServiceNotNullByDataFlow() { |
| SomeService s = SomeService.getInstanceNullable(); |
| return s == null ? SomeService.getInstanceNotNull() : s; |
| } |
| |
| // nullable, bang-bang |
| public String aString1() { |
| return getServiceNullable().nullableString(); |
| } |
| |
| // nullable |
| public String aString2() { |
| return getService().nullableString(); |
| } |
| |
| // not nullable |
| public String aString3() { |
| return getService().notNullString(); |
| } |
| |
| // nullable, no bang-bang |
| public String aString4() { |
| return getServiceNotNullByDataFlow().nullableString(); |
| } |
| |
| // not nullable, no bang-bang |
| public String aString5() { |
| return getServiceNotNullByDataFlow().notNullString(); |
| } |
| |
| // nullable, safe-call |
| public String aString6() { |
| SomeService s = getServiceNullable(); |
| if (s != null) { |
| return s.nullableString(); |
| } else { |
| return null; |
| } |
| } |
| |
| } |