79 lines
1.2 KiB
Smalltalk
79 lines
1.2 KiB
Smalltalk
Class {
|
|
#name : #HlPerson,
|
|
#superclass : #Object,
|
|
#instVars : [
|
|
'givenName',
|
|
'familyName',
|
|
'metadata'
|
|
],
|
|
#category : #Holonica
|
|
}
|
|
|
|
{ #category : #accessing }
|
|
HlPerson class >> fromListName [
|
|
|
|
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson class >> fromListName: aString [
|
|
| allNames |
|
|
allNames := aString substrings
|
|
collect: [:each | each first asString, each allButFirst asLowercase ].
|
|
allNames size = 4
|
|
ifTrue: [
|
|
^ self new
|
|
givenName: allNames first, ' ', allNames second;
|
|
familyName: allNames third, ' ', allNames fourth
|
|
].
|
|
allNames size = 3
|
|
ifTrue: [
|
|
^ self new
|
|
givenName: allNames first, ' ', allNames second;
|
|
familyName: allNames third.
|
|
].
|
|
allNames size = 2
|
|
ifTrue: [
|
|
^ self new
|
|
givenName: allNames first;
|
|
familyName: allNames second.
|
|
].
|
|
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson >> familyName [
|
|
|
|
^ familyName
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson >> familyName: anObject [
|
|
|
|
familyName := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson >> givenName [
|
|
|
|
^ givenName
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson >> givenName: anObject [
|
|
|
|
givenName := anObject
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson >> metadata [
|
|
|
|
^ metadata
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
HlPerson >> metadata: anObject [
|
|
|
|
metadata := anObject
|
|
]
|