TraitDefinition extends AbstractTrait implements ToSmithyBuilder<TraitDefinition> { public static Builder builder() { return new Builder(); } TraitDefinition(TraitDefinition.Builder builder); static Builder builder(); @Override Builder toBuilder(); Selector getSelector(); List<ShapeId> getConflicts(); Optional<StructurallyExclusive> getStructurallyExclusive(); boolean isStructurallyExclusiveByMember(); boolean isStructurallyExclusiveByTarget(); static final ShapeId ID; static final String SELECTOR_KEY; static final String STRUCTURALLY_EXCLUSIVE_KEY; static final String CONFLICTS_KEY; }
@Test public void comparesAndHashCodeWhenShapeIsNull() { TraitDefinition a = TraitDefinition.builder().selector(Selector.parse("string")).build(); TraitDefinition b = TraitDefinition.builder().selector(Selector.parse("string")).build(); assertEquals(a, b); assertEquals(a.hashCode(), b.hashCode()); }