Monday, January 18, 2010

Registration Open for First Batch of Java Courses

Registration is now open for first batch of Java Courses. For course outline please refer to my previous post.
Fee: Rs. 5K per month
Frequency: 2 classes per week
Class Duration: 2 Hours from 7:30 pm to 9:30 pm (weekdays)
Instructor: Myself
Premises: My Home (for directions see map below)
  1. Registration will be on first come first serve basis.
  2. Last date for registration of first batch is 31st of January 2010.
  3. Please note that no applications will be entertained on any grounds after last date.
  4. You can register yourself by filling out a simple form and submitting the first month’s fee in advance to me.
  5. You can meet me either in my office or at my home but make sure you call (0321-8707783) me in advance to confirm my location and presence.
    1. Office – IBL, IT Dept., 9th Floor, NIC Building:
      Zoom Out View Zoom In View
    2. Home – C/13, Block 10A, Gulshan-e-Iqbal:
      Zoom Out View Zoom In View

Thursday, January 14, 2010

Setting Null value (reflectively) using Apache Common’s PropertyUtils

If you have a requirement to set a Null value (reflectively) to a property of an object using Apache Commons than following method won’t work for you:

BeanUtils.setProperty(Object bean, String propertyName, Object value);

And neither does this one:

PropertyUtils.setProperty(Object bean, String propertyName, Object value);

The reason is that both method uses ConvertUtils to convert values of source type to a destination type. The default set of converters which are registered with BeanUtils have a default value specified and this is why you can’t set a null value using default settings. If you want null values to be set then you need to register converter implementations for those types with a default value of null. So for example you would do something like...

ConvertUtils.register(new IntegerConverter(null), Integer.class);
ConvertUtils.register(new DoubleConverter(null), Double.class);


(Note: the "null" value in the constructors is the default value)

Alternatively, you can also achieve this by following statement:

PropertyUtils.getWriteMethod(PropertyUtils.getPropertyDescriptor(this,propertyName)).invoke(this, new Object[]{null});

Monday, January 11, 2010

Starting Java Courses from Feb 2010

Fee: Pak. Rs. 5K per month
Frequency: 2 classes per week
Class Duration: 2 Hours
Timings: 07:30 pm to 09:30 pm
For further details contact me @ smhumayun@gmail.com
Course One: Core Java & UML (Duration – 4 Months)
  1. Introduction to Programming
  2. Fundamental Concepts
    1. Data Types, Literals, Identifiers, Variables
    2. Operators & Conversions
    3. Expression, Statements and Blocks
    4. Control Flow Statements
    5. Methods
    6. Arrays
  3. Object Oriented Concepts and UML
    1. Classes and Objects
    2. Constructors, Finalize & Garbage Collection
    3. Packages & Modifiers
    4. Inheritance, Polymorphism, Abstraction & Encapsulation
    5. Shadowing & Casting
    6. Nested Classes
    7. Object and String classes
  4. Auto-boxing and Enums
  5. Exception Handling
  6. Java Source File Structure
  7. The I/O package
  8. Multi-threading
  9. Networking
  10. The Lang package
  11. Collections & Maps
  12. Platform Fundamentals
    1. Path and Classpath
    2. Compiler, Interpreter & Bytecode
    3. JAR Packaging
    4. JVM
      1. Security
      2. Garbage Collection
      3. Heap and Stack
  13. Logging
  14. Javadocs
  15. Basic Problem Solving
Course Two: Design Patterns (Duration – 3 Months)
Course Three: Advance Java (Duration – 4 Months)
  1. Annotations
  2. Generics
  3. Java Beans
  4. Reflection
  5. JNDI
  6. RMI
  7. XML and JAXP
  8. Web Services & SOAP
  9. Advance Problem Solving
Course Four: Database (Duration – 3 Months)
  1. Introduction to Database Concepts
  2. Database Design & Modeling using ERD
    1. Entities
    2. Attributes
    3. Cardinality and Relationships
    4. Normalization Forms
  3. SQL
    1. Introduction
    2. Standards and Dialects
    3. MySQL GUI Tools
    4. DDL
      1. Create/Alter/Drop Database
      2. Create/Alter/Drop Table or View
        1. Columns & Data Types
        2. Primary Key, Foreign Key, Unique Key
        3. Constraints
      3. Create/Alter/Drop Index
      4. Create/Alter/Drop Stored Procedure
      5. Create/Alter/Drop Trigger
    5. DML
      1. Select, Update, Insert, Delete
      2. Where, And, Or, Not, In, Between, Like
      3. Wildcards
      4. Order By, Group By
      5. Aggregate Functions, Having
      6. Alias & Joins
  4. JDBC
    1. Driver Types
    2. DriverManager and DataSource
    3. Connection, Statement and ResultSet
    4. Cursor Movements
    5. ResultSet & Concurrency Types
    6. Prepared & Callable Statements
    7. Cursor & HoldabilityTypes
    8. Rowset & Implementations
    9. Transactions
Course Five: WWW (Duration – 2 Months)
  1. Brief history of WWW
  2. Understanding HTTP
  3. HTML
  4. JavaScript
  5. CSS
Course Six: Servlets (Duration – 3 Months)
  1. Introduction to Server Side Scripting & Programming Languages
  2. Life Cycle
  3. Scopes
  4. Form Data Handling
  5. HTTP Status Codes, Request and Response Headers
  6. Session Management
  7. Filters
  8. Handling Uploads
  9. MIME Types
  10. Web Deployment Descriptor
  11. New Features
  12. Java Mail
  13. Apache Tomcat Basics
Course Seven: JSP (Duration – 3 Months)
  1. Expressions
  2. Scriptlets
  3. Declarations
  4. Pre-defined Variables
  5. Directives
  6. Error Handling
  7. EL
  8. JTSL
  9. Custom Taglibs
Course Eight: Spring Framework (Duration – 3 Months)
Course Nine: Hibernate Framework (Duration – 3 Months)
Course Ten: Struts2 Framework (Duration – 3 Months)
For further details contact me @ smhumayun@gmail.com