<workflowRun _class='org.jenkinsci.plugins.workflow.job.WorkflowRun'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by tircis</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>6</buildableTimeMillis><buildingDurationMillis>22971</buildingDurationMillis><executingTimeMillis>22656</executingTimeMillis><executorUtilization>0.99</executorUtilization><queuingDurationMillis>5813</queuingDurationMillis><queuingTimeMillis>5821</queuingTimeMillis><subTaskCount>1</subTaskCount><totalDurationMillis>28784</totalDurationMillis><waitingDurationMillis>5812</waitingDurationMillis><waitingTimeMillis>5812</waitingTimeMillis></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>24</buildNumber><marked><SHA1>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</SHA1><branch><SHA1>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</SHA1><branch><SHA1>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</SHA1><branch><SHA1>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/codefilarete/reflection.git</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>180</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/24/artifact</artifactsUrl><changesUrl>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/changes</changesUrl><displayUrl>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/24/stages</displayUrl><testsUrl>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/24/testReport</testsUrl></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'><restartEnabled>false</restartEnabled><restartableStage>Build</restartableStage><restartableStage>Sonar Analysis</restartableStage></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'><node _class='org.jenkinsci.plugins.workflow.graph.FlowStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.graph.FlowEndNode'></node></action><action></action><action></action><artifact><displayPath>codefilarete-reflection-1.1.2-SNAPSHOT.jar</displayPath><fileName>codefilarete-reflection-1.1.2-SNAPSHOT.jar</fileName><relativePath>target/codefilarete-reflection-1.1.2-SNAPSHOT.jar</relativePath></artifact><building>false</building><displayName>#24</displayName><duration>22971</duration><estimatedDuration>24726</estimatedDuration><fullDisplayName>Reflection pipeline #24</fullDisplayName><id>24</id><keepLog>false</keepLog><number>24</number><queueId>65</queueId><result>SUCCESS</result><timestamp>1776694547004</timestamp><url>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/24/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/org/codefilarete/reflection/AccessorChain.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/ReadWriteAccessorChain.java</affectedPath><commitId>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</commitId><timestamp>1776591324000</timestamp><author><absoluteUrl>https://ci.codefilarete.org/jenkins/user/guiom.mary</absoluteUrl><fullName>guiom.mary</fullName></author><authorEmail>guiom.mary@gmail.com</authorEmail><comment>Code cleanup
</comment><date>2026-04-19 11:35:24 +0200</date><id>22317b6e2b3b42e236421b0e9c6ca550aa86fffb</id><msg>Code cleanup</msg><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/AccessorChain.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/ReadWriteAccessorChain.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://ci.codefilarete.org/jenkins/user/guiom.mary</absoluteUrl><fullName>guiom.mary</fullName><id>guiom.mary</id></culprit><inProgress>false</inProgress><previousBuild><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by tircis</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>3</buildableTimeMillis><buildingDurationMillis>24875</buildingDurationMillis><executingTimeMillis>23935</executingTimeMillis><executorUtilization>0.96</executorUtilization><subTaskCount>1</subTaskCount><waitingDurationMillis>7310</waitingDurationMillis><waitingTimeMillis>7310</waitingTimeMillis></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>23</buildNumber><marked><SHA1>d070879f6b14cae62ce322caf04c821b54c917ec</SHA1><branch><SHA1>d070879f6b14cae62ce322caf04c821b54c917ec</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>d070879f6b14cae62ce322caf04c821b54c917ec</SHA1><branch><SHA1>d070879f6b14cae62ce322caf04c821b54c917ec</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>d070879f6b14cae62ce322caf04c821b54c917ec</SHA1><branch><SHA1>d070879f6b14cae62ce322caf04c821b54c917ec</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/codefilarete/reflection.git</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>0</skipCount><totalCount>180</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><artifact><displayPath>codefilarete-reflection-1.1.2-SNAPSHOT.jar</displayPath><fileName>codefilarete-reflection-1.1.2-SNAPSHOT.jar</fileName><relativePath>target/codefilarete-reflection-1.1.2-SNAPSHOT.jar</relativePath></artifact><building>false</building><displayName>#23</displayName><duration>24875</duration><estimatedDuration>24726</estimatedDuration><fullDisplayName>Reflection pipeline #23</fullDisplayName><id>23</id><keepLog>false</keepLog><number>23</number><queueId>57</queueId><result>SUCCESS</result><timestamp>1774336297228</timestamp><url>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/23/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/org/codefilarete/reflection/SerializablePropertyMutator.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/AccessorDefinition.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/ReadWritePropertyAccessPoint.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/DefaultReadWriteAccessPoint.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/Accessors.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/ValueAccessPointChain.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/MutatorByMethodTest.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/ExceptionConverterTest.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/AccessorByMethod.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/SerializablePropertyAccessor.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/AccessorByField.java</affectedPath><affectedPath>src/main/java/org/codefilarete/trace/ObjectPrinterBuilder.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/ReadWriteAccessPointTest.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/AccessorsTest.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/ValueAccessPointComparatorTest.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/MutatorByMember.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/AccessorChain.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/AccessorChainMutatorTest.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/ReadWriteAccessorChain.java</affectedPath><affectedPath>src/test/java/org/codefilarete/reflection/AccessorDefinitionTest.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/ValueAccessPointSet.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/MutatorByField.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/DefaultReadWritePropertyAccessPoint.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/MutatorByMethod.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/AccessorByMember.java</affectedPath><affectedPath>src/main/java/org/codefilarete/reflection/ReadWriteAccessPoint.java</affectedPath><commitId>d070879f6b14cae62ce322caf04c821b54c917ec</commitId><timestamp>1774335955000</timestamp><author><absoluteUrl>https://ci.codefilarete.org/jenkins/user/guiom.mary</absoluteUrl><fullName>guiom.mary</fullName></author><authorEmail>guiom.mary@gmail.com</authorEmail><comment>Reworking Read-Write classes : ReadWriteAccessPoint and ReadWritePropertyAccessPoint become interfaces, implying the introduction of :
 - ReadWriteAccessorChain to have a symmetric equivalent of AccessorChainMutator
 - DefaultReadWriteAccessPoint
 - DefaultReadWritePropertyAccessPoint
Also introducing SerializablePropertyAccessor and SerializablePropertyMutator to let an API emphases the needed that its arguments must be bean property method references.
</comment><date>2026-03-24 08:05:55 +0100</date><id>d070879f6b14cae62ce322caf04c821b54c917ec</id><msg>Reworking Read-Write classes : ReadWriteAccessPoint and ReadWritePropertyAccessPoint become interfaces, implying the introduction of :</msg><path><editType>add</editType><file>src/main/java/org/codefilarete/reflection/ReadWriteAccessorChain.java</file></path><path><editType>add</editType><file>src/main/java/org/codefilarete/reflection/DefaultReadWriteAccessPoint.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/AccessorByField.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/AccessorsTest.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/trace/ObjectPrinterBuilder.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/MutatorByMethod.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/Accessors.java</file></path><path><editType>add</editType><file>src/main/java/org/codefilarete/reflection/SerializablePropertyAccessor.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/AccessorChain.java</file></path><path><editType>add</editType><file>src/main/java/org/codefilarete/reflection/SerializablePropertyMutator.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/MutatorByMethodTest.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/ReadWriteAccessPoint.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/ReadWriteAccessPointTest.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/MutatorByField.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/AccessorDefinition.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/AccessorByMember.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/AccessorByMethod.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/ExceptionConverterTest.java</file></path><path><editType>add</editType><file>src/main/java/org/codefilarete/reflection/DefaultReadWritePropertyAccessPoint.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/AccessorChainMutatorTest.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/ValueAccessPointComparatorTest.java</file></path><path><editType>edit</editType><file>src/test/java/org/codefilarete/reflection/AccessorDefinitionTest.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/ReadWritePropertyAccessPoint.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/MutatorByMember.java</file></path><path><editType>add</editType><file>src/main/java/org/codefilarete/reflection/ValueAccessPointChain.java</file></path><path><editType>edit</editType><file>src/main/java/org/codefilarete/reflection/ValueAccessPointSet.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://ci.codefilarete.org/jenkins/user/guiom.mary</absoluteUrl><fullName>guiom.mary</fullName></culprit><inProgress>false</inProgress><nextBuild><number>24</number><url>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/24/</url></nextBuild><previousBuild><number>22</number><url>https://ci.codefilarete.org/jenkins/job/Reflection%20pipeline/22/</url></previousBuild></previousBuild></workflowRun>