<cfcomponent
displayname="Girl"
extends="AbstractBaseComponent"
output="no"
hint="I am a girl object.">
<cfscript>
THIS.FirstName = "";
THIS.LastName = "";
THIS.ValidPickupLines = "";
</cfscript>
<cffunction name="Init" access="public" returntype="Girl" output="false"
hint="Returns an initialized girl instance.">
<cfargument name="FirstName" type="string" required="false" default="" />
<cfargument name="LastName" type="string" required="false" default="" />
<cfargument name="PickupLines" type="array" required="false" default="#ArrayNew( 1 )#" />
<cfset THIS.FirstName = ARGUMENTS.FirstName />
<cfset THIS.LastName = ARGUMENTS.LastName />
<cfset THIS.ValidPickupLines = ARGUMENTS.PickupLines />
<cfreturn THIS />
</cffunction>
<cffunction name="TryPickupLine" access="public" returntype="string" output="false"
hint="This tries a pickup line on the Girl.">
<cfargument name="Line" type="string" required="true" />
<cfif (THIS.ValidPickupLines.IndexOf( JavaCast( "string", ARGUMENTS.Line ) ) GTE 0)>
<cfreturn (
"Hey, my name is " & THIS.FirstName & "." &
" Why don't you buy me a drink?"
) />
<cfelse>
<cfreturn (
"Does that line usually work with a woman? " &
"Maybe you should try something else."
) />
</cfif>
</cffunction>
</cfcomponent>