Newbie: Forced to cast when I don't think I need too
Greetings,
Not sure what etiquette is when post code snippets, but here I go;
Given the following 3 classes;
TestDriver
Customer
Center
Note not all methods currently implemented. Feel free to comment on
any nasty programming as I want to learn the correct way to code java
(old procedural programmer!).
Question: In my TestDriver class when I list out the various
CenterId's assigned to a Customer I have to cast it back to a center
before the IDE shows me the method get_CenterId() isn't there a way
for me to get at the get_CenterId() by using the result directly,
something like;
System.out.println("Center ID:" + (Center)i.next().get_CenterId());
The 3 classes follow;
package com.harless.remoteaccess;
import java.util.Calendar;
import java.util.ArrayList;
import java.util.Iterator;
public class TestDriver
{
public static void main(String[] args)
{
////////////////////////////////////////////////////
// assign some objects
////////////////////////////////////////////////////
Customer myCustomer = new Customer();
myCustomer.set_CompanyName("Anasazi Software");
myCustomer.set_StartDate("2008-01-01");
myCustomer.set_EndDate("2100-12-31");
myCustomer.set_CustomerCenter("PHX");
myCustomer.set_CustomerCenter("PHX1");
////////////////////////////////////////////////////
// print some objects
////////////////////////////////////////////////////
listCustomer(myCustomer);
}
public static void listCustomer(Customer tempCustomer)
{
System.out.println("LIST CUSTOMER INFORMATION");
System.out.println("=========================");
System.out.println("Customer Name:"+
tempCustomer.get_CompanyName());
System.out.println("Customer Start Date:" + String.format("
%1$tb %1$te,%1$tY", tempCustomer.get_StartDate()));
System.out.println("Customer End Date:" + String.format("
%1$tb %1$te,%1$tY", tempCustomer.get_EndDate()));
Iterator i = tempCustomer.get_CustomerCenter().iterator();
Center tempCenter;
while (i.hasNext())
{
tempCenter = (Center)i.next();
System.out.println("Center ID:" +
tempCenter.get_CenterId());
}
}
}
package com.harless.remoteaccess;
import java.util.ArrayList;
import java.util.Calendar;
public class Customer
{
private String _CompanyName;
private int _Id;
private ArrayList<Center> CustomerCenter = new
ArrayList<Center>();
private Address MainAddress;
private Calendar _StartDate = Calendar.getInstance();
private Calendar _EndDate = Calendar.getInstance();
public Customer()
{
}
public ArrayList<Center> get_CustomerCenter()
{
return CustomerCenter;
}
public void set_CustomerCenter(String sCenterId)
{
Center tempCenter = new Center(sCenterId);
CustomerCenter.add(tempCenter);
}
public Address getMainAddress()
{
return MainAddress;
}
public void setMainAddress(Address val)
{
this.MainAddress = val;
}
public String get_CompanyName()
{
return _CompanyName;
}
public void set_CompanyName(String val)
{
this._CompanyName = val;
}
public Calendar get_EndDate()
{
return _EndDate;
}
public void set_EndDate(String sDate)
{
if(sDate != null)
{
int tempYear=0, tempMonth=0, tempDay=0;
tempYear = Integer.parseInt(sDate.substring(0, 4));
tempMonth = (Integer.parseInt(sDate.substring(5,7)))-1;
tempDay = Integer.parseInt(sDate.substring(8, 10));
this._EndDate.set(tempYear, tempMonth, tempDay);
}
}
public int get_Id()
{
return _Id;
}
public void set_Id(int val)
{
this._Id = val;
}
public Calendar get_StartDate()
{
return _StartDate;
}
public void set_StartDate(String sDate)
{
int tempYear=0, tempMonth=0, tempDay=0;
tempYear = Integer.parseInt(sDate.substring(0, 4));
tempMonth = (Integer.parseInt(sDate.substring(5,7)))-1;
tempDay = Integer.parseInt(sDate.substring(8, 10));
this._StartDate.set(tempYear, tempMonth, tempDay);
}
}
package com.harless.remoteaccess;
import java.util.ArrayList;
import java.util.Date;
public class Center
{
private String _CenterId;
private Date _StartDate;
private Date _EndDate;
private ArrayList<Server> _CenterServer;
private Address CenterAddress;
public Center()
{
}
public Center(String sCenterId)
{
set_CenterId(sCenterId);
}
public Address getCenterAddress()
{
return CenterAddress;
}
public void setCenterAddress(Address val)
{
this.CenterAddress = val;
}
public String get_CenterId()
{
return _CenterId;
}
public void set_CenterId(String val)
{
this._CenterId = val;
}
public ArrayList<Server> get_CenterServer()
{
return _CenterServer;
}
public void set_CenterServer(ArrayList<Server> val)
{
this._CenterServer = val;
}
public Date get_EndDate()
{
return _EndDate;
}
public void set_EndDate(Date val)
{
this._EndDate = val;
}
public Date get_StartDate()
{
return _StartDate;
}
public void set_StartDate(Date val)
{
this._StartDate = val;
}
}