joo.classLoader.prepare(/*
 * Copyright 2008 CoreMedia AG
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, 
 * software distributed under the License is distributed on an "AS
 * IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
 * express or implied. See the License for the specific language 
 * governing permissions and limitations under the License.
 */

"package example", ["import example.Person",""],

"public class ExtendedPerson extends example.Person",function(ExtendedPerson,$$private){with(ExtendedPerson)with($$private)return[ 

  "public function ExtendedPerson",function $ExtendedPerson(name/*: String*/, birthday/*: Date*/) {
    this[$super](name);
    this.setBirthday(birthday);
  },

  "public function getBirthday",function getBirthday()/*: Date*/ {
    return this[$birthday];
  },

  "public function setBirthday",function setBirthday(birthday/*: Date*/)/*: void*/ {
    this[$birthday] = birthday;
  },

  "override protected function renderInner",function renderInner()/*: String*/ {
    var test = "foo";
    return this[$renderInner]()+"<p>birthday: "+this.getBirthday().toLocaleString()+"</p>";
  },

  "private var",{ birthday/*: Date*/ :function(){return( new Date());}},
];},[]
);