@ SuppressWarnings ( "deprecation" ) public CQLBuilder set ( final Object entity ) { if ( entity instanceof String ) { return set ( N . asArray ( ( String ) entity ) ) ; } else if ( entity instanceof Map ) { return set ( ( Map < String , Object > ) entity ) ; } else { this . entityClass = entity . getClass ( ) ; if ( N . isDirtyMarker ( entity . getClass ( ) ) ) { final DirtyMarker dirtyMarkerEntity = ( ( DirtyMarker ) entity ) ; final Set < String > updatedPropNames = dirtyMarkerEntity . dirtyPropNames ( ) ; final Map < String , Object > updateProps = new HashMap <> ( ) ; for ( String propName : updatedPropNames ) { updateProps . put ( propName , ClassUtil . getPropValue ( dirtyMarkerEntity , propName ) ) ; } return set ( updateProps ) ; } else { return set ( Maps . entity2Map ( entity ) ) ; } } }
Only the dirty properties will be set into the result CQL if the specified entity is a dirty marker entity .