/** * 是否拷贝值为 null 的属性 * * @return this */ public OrikaCopier.Builder<F, T> nulls() { builder.mapNulls(true); return this; }
@Override public <S, D> void map(S sourceObject, D destinationObject) { if (!factory.existsRegisteredMapper(TypeFactory.valueOf(sourceObject.getClass()), TypeFactory.valueOf(destinationObject.getClass()), false)){ ClassMapBuilder mapBuilder = factory.classMap(sourceObject.getClass(), destinationObject.getClass()); mapBuilder.mapNulls( //Eğer Entity sınıfı ise Arrays.stream(sourceObject.getClass().getDeclaredAnnotations()) .map(annotation -> annotation.annotationType().equals(Entity.class)) .map(value -> !value) .reduce(Boolean::logicalOr) .orElse(false) ); mapBuilder.mapNullsInReverse( //Eğer Entity sınıfı ise Arrays.stream(destinationObject.getClass().getDeclaredAnnotations()) .map(annotation -> annotation.annotationType().equals(Entity.class)) .map(value -> !value) .reduce(Boolean::logicalOr) .orElse(false) ); mapBuilder.byDefault().register(); } super.map(sourceObject, destinationObject); }
private void registerOpportunityContactRoleMap(MapperFactory mapperFactory) { ClassMapBuilder<OpportunityContactRole, JSONObject> classMap = mapperFactory.classMap(OpportunityContactRole.class, JSONObject.class).mapNulls(false) .mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("opportunityId", "OpportunityId"); classMap.field("contactId", "ContactId"); classMap.field("roleType", "Role"); classMap.register(); }
@Test public void mapNulls_True_ClassLevel() { MapperFactory mapperFactory = new DefaultMapperFactory.Builder().mapNulls(false).build(); mapperFactory.classMap(Container.class, Container2.class) .mapNulls(true).byDefault().register(); Container a = new Container(); Container2 b = new Container2(); b.longValue = 1L; b.stringValue = "TEST A"; b.arrayOfString = new String[]{"a", "b", "c"}; b.arrayOfInt = new int[] {1,2,3}; b.listOfString = Arrays.asList("l1","l2"); b.map = Collections.singletonMap("key", (Object)"value"); b.enumValue = Position.FIRST; mapperFactory.getMapperFacade().map(a, b); Assert.assertNull( b.stringValue ); Assert.assertNull( b.arrayOfString ); Assert.assertNull( b.arrayOfInt ); Assert.assertNull( b.listOfString ); Assert.assertNull( b.map ); Assert.assertNull( b.enumValue ); }
/** * Constructs and registers a {@link ClassMapBuilder} into the {@link MapperFactory} using a {@link Mapper}. * * @param mapper */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void addMapper(final Mapper<?, ?> mapper) { factory.classMap(mapper.getAType(), mapper.getBType()) .byDefault() .customize((Mapper) mapper) .mapNulls(false) .mapNullsInReverse(false) .register(); }
@Test public void mapNulls_False_ClassLevel() { MapperFactory mapperFactory = new DefaultMapperFactory.Builder().mapNulls(true).build(); mapperFactory.classMap(Container.class, Container2.class) .mapNulls(false).byDefault().register(); Container a = new Container(); Container2 b = new Container2(); b.longValue = 1L; b.stringValue = "TEST A"; b.arrayOfString = new String[]{"a", "b", "c"}; b.arrayOfInt = new int[] {1,2,3}; b.listOfString = Arrays.asList("l1","l2"); b.map = Collections.singletonMap("key", (Object)"value"); b.enumValue = Position.FIRST; mapperFactory.getMapperFacade().map(a, b); Assert.assertNotNull( b.stringValue ); Assert.assertNotNull( b.arrayOfString ); Assert.assertNotNull( b.arrayOfInt ); Assert.assertNotNull( b.listOfString ); Assert.assertNotNull( b.map ); Assert.assertNotNull( b.enumValue ); }
private void registerBadgesMap(MapperFactory mapperFactory) { ClassMapBuilder<Badge, JSONObject> classMap = mapperFactory.classMap(Badge.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("name", "Name"); classMap.field("publicDescription", "Public_Description__c"); classMap.field("index", "Badge_Index__c"); classMap.field("indexAndName", "Badge_Index_Name__c"); classMap.register(); }
.mapNulls(false) .fieldMap("arrayOfString").mapNulls(true).add() .byDefault().register();
private void registerOrgIdMap(MapperFactory mapperFactory) { ClassMapBuilder<OrgId, JSONObject> classMap = mapperFactory.classMap(OrgId.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("orgIdValue", "Name"); classMap.field("orgIdType", "Identifier_Type__c"); classMap.field("inactive", "Inactive__c"); classMap.field("primaryIdForType", "Primary_ID_for_type__c"); classMap.field("accountId", "Organization__c"); classMap.field("notes", "Notes__c"); classMap.register(); }
private void registerContactRoleMap(MapperFactory mapperFactory) { ConverterFactory converterFactory = mapperFactory.getConverterFactory(); converterFactory.registerConverter(new ContactRoleConverter()); converterFactory.registerConverter(new ReverseContactRoleConverter()); ClassMapBuilder<ContactRole, JSONObject> classMap = mapperFactory.classMap(ContactRole.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("accountId", "Organization__c"); classMap.field("contactId", "Contact__c"); classMap.field("votingContact", "Voting_Contact__c"); classMap.field("current", "Current__c"); classMap.field("roleType", "Member_Org_Role__c"); classMap.register(); }
private void registerIntegrationMap(MapperFactory mapperFactory) { ClassMapBuilder<Integration, JSONObject> classMap = mapperFactory.classMap(Integration.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("name", "Name");
private void registerOpportunityMap(MapperFactory mapperFactory) { ClassMapBuilder<Opportunity, JSONObject> classMap = mapperFactory.classMap(Opportunity.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("ownerId", "OwnerId"); classMap.field("targetAccountId", "AccountId"); classMap.field("stageName", "StageName"); classMap.field("closeDate", "CloseDate"); classMap.field("type", "Type"); classMap.field("memberType", "member_type__c"); classMap.field("membershipStartDate", "Membership_Start_Date__c"); classMap.field("membershipEndDate", "Membership_End_Date__c"); classMap.field("consortiumLeadId", "Consortia_Lead__c"); classMap.field("name", "Name"); classMap.field("recordTypeId", "RecordTypeId"); classMap.field("nextStep", "NextStep"); classMap.field("removalRequested", "Consortium_member_removal_requested__c"); classMap.fieldBToA("Account.Name", "accountName"); classMap.fieldBToA("Account.Public_Display_Name__c", "accountPublicDisplayName"); classMap.register(); }
private void registerContactMap(MapperFactory mapperFactory) { ClassMapBuilder<Contact, JSONObject> classMap = mapperFactory.classMap(Contact.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); classMap.field("id", "Id"); classMap.field("orcid", "ORCID_iD_Path__c"); classMap.field("role.votingContact", "Voting_Contact__c"); classMap.field("role.current", "Current__c"); classMap.field("email", "Email"); classMap.fieldAToB("firstName", "FirstName"); classMap.fieldAToB("lastName", "LastName"); classMap.fieldAToB("accountId", "AccountId"); classMap.fieldBToA("Member_Org_Role__c", "role.roleType"); classMap.fieldBToA("Contact__r.FirstName", "firstName"); classMap.fieldBToA("Contact__r.LastName", "lastName"); classMap.fieldBToA("Contact__r.Email", "email"); classMap.fieldBToA("Contact__c", "id"); classMap.fieldBToA("Contact__c", "role.contactId"); classMap.fieldBToA("AccountId", "role.accountId"); classMap.fieldBToA("Id", "role.id"); classMap.fieldBToA("Organization__c", "accountId"); classMap.register(); }
public void registerMemberMap(MapperFactory mapperFactory) { ClassMapBuilder<Member, JSONObject> classMap = mapperFactory.classMap(Member.class, JSONObject.class).mapNulls(false).mapNullsInReverse(false); ConverterFactory converterFactory = mapperFactory.getConverterFactory(); converterFactory.registerConverter(new CommunityTypeConverter());