Suppose I want to put my name and the date at the top of every new buffer that I create. How would I do that?

Furthermore, suppose I want to use the name of the new buffer in the text that I want to place automatically, where what text is placed depends on a parameter that I specify. Let's say if the parameter is "java" then the text placed will be

```

public class [Filename without file extension] {
    static void main (String[] args) {

    }
}

```

or if it's "cpp" then, 

```
public class [Filename without file extension] {
    int main(int argc, char** argv) {

    }
}

```