I have a current scenario where in an external application invokes my application code. I am in the process of writing an input validation utility. One of the input parameter is a java.util.Date object. My question here is if the client will be invoking my application with a Date input parameter then I can be rest assured that the incoming Date object is a proper one and I don't have to worry about invalid/absurd dates as it is the case when date value is passed as a String object. Is there anything that can go wrong when the input is a java.util.Date object. In this case say if I want to reject all valid dates prior to year 1900 how is that normally done something like checking boundary date conditions.
If you're getting a proper java.util.Date object, you can be sure that it is legitimate. IE the day of the month won't be greater than 31, the year won't be negative, etc. You can always do validation, but unfortunately the methods in java.util.Date are deprecated so you'll have to pass the Date into a Calendar object and then use the get methods to determine whether the day, month, year, etc. are within your valid ranges.