/** * Initializes linked role from dsl. * * @param serializedRole is {@link Binder} from dsl with data of linked role */ @Override public void initWithDsl(Binder serializedRole) { roleName = serializedRole.getStringOrThrow("target"); if (getName().equals(roleName)) throw new IllegalArgumentException("RoleLink: name and target name are equals: " + roleName); }
/** * Get role as string. * * @return string with data of role */ @Override public String toString() { if (getContract() != null) { final Role role = getRole(); return "RoleLink<" + getName() + "->" + roleName + ":" + ((role == null) ? "null" : role.toString()) + ">"; } else { return "RoleLink<" + getName() + "->" + roleName + ":" + "not connected>"; } }
@Override public Binder serialize(BiSerializer s) { return super.serialize(s).putAll( "name", getName(), "target_name", roleName ); }
@Test public void serialize() throws Exception { RoleLink r1 = new RoleLink("name", "target"); r1.addRequiredReference("ref", Role.RequiredMode.ALL_OF); Binder s = DefaultBiMapper.serialize(r1); RoleLink r2 = DefaultBiMapper.deserialize(s); assertEquals(r1, r2); assertEquals(r1.getName(), r2.getName()); }