Sunday, March 18, 2018
Groovy - Clone - Shallow Copy
import groovy.transform.AutoClone
// Do not clone the teacher property.
@AutoClone(excludes = ['teacher'])
class Course {
String name
Date date
Teacher teacher
}
@AutoClone()
class Teacher {
String name
}
def mrhaki =
new Teacher(name: 'mrhaki')
def course =
new Course(
name: 'Groovy 101',
date: new Date() + 10,
teacher: mrhaki)
// We make a deep copy.
def secondCourse = course.clone()
assert secondCourse != course
assert !secondCourse.is(course)
// Only the teacher property is
// a shallow copy.
assert secondCourse.teacher == mrhaki
assert secondCourse.teacher.is(mrhaki)
// Change property on teacher property on cloned instance.
secondCourse.teacher.name = 'hubert1'
assert secondCourse.teacher.name == 'hubert1'
assert course.teacher.name == 'hubert1'
println "secondCourse.teacher >>> " +secondCourse.teacher.name
println "course.teacher >>> " +course.teacher.name
Subscribe to:
Post Comments (Atom)
உப்பு மாங்காய்
சுருக்குப்பை கிழவி. சுருக்கங்கள் சூழ் கிழவி. பார்க்கும் போதெல்லாம் கூடையுடனே குடியிருப்பாள். கூடை நிறைய குட்டி குட்டி மாங்காய்கள். வெட்டிக்க...
-
கந்தன் வேலைக்குச் சென்று கிட்டத்தட்ட பத்து ஆண்டுகளுக்கு பிறகு சொந்த ஊர் திரும்பி இருந்தான். காளிக் கோயிலைத் தாண்டி தான் அவன் வீட்ட...
-
பிரேமாவின் மூத்த ஆண் குழந்தைக்கு முன் பிறந்த இளைய பெண் குழந்தை அவள். வயலும் சேறும் இரண்டற கலந்த ஊர். முழுதாய் மூன்றாம் வகுப்பைத் ...
No comments:
Post a Comment