Constraint { public Target getTarget() { return target; } private  Constraint(AddressTemplate template, String name, Target target, Permission permission); static Constraint executable(AddressTemplate template, String operation); static Constraint writable(AddressTemplate template, String attribute); @SuppressWarnings("DuplicateStringLiteralInspection") static Constraint parse(String input); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); String data(); AddressTemplate getTemplate(); Target getTarget(); String getName(); Permission getPermission();  }
@Test public void target() { assertEquals(Target.OPERATION, ex.getTarget()); assertEquals(Target.ATTRIBUTE, wr.getTarget()); }