From: kpouer Date: Fri, 7 Feb 2003 15:35:29 +0000 (+0000) Subject: When creating a file named like this something.class.php a class template will be... X-Git-Url: http://git.phpeclipse.com When creating a file named like this something.class.php a class template will be used --- diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java index c3311bd..992f064 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java @@ -111,8 +111,15 @@ public class PHPFileWizard extends Wizard implements INewWizard { } IContainer container = (IContainer) resource; final IFile file = container.getFile(new Path(fileName)); + String className = getClassName(fileName); + try { - InputStream stream = openContentStream(); + InputStream stream; + if (className == null) { + stream = openContentStream(); + } else { + stream = openContentStreamClass(className); + } if (file.exists()) { file.setContents(stream, true, true, monitor); } else { @@ -136,10 +143,39 @@ public class PHPFileWizard extends Wizard implements INewWizard { } /** + * Check if the filename is like this anyname.class.php + * @param fileName the filename + * @return the anyname or null + */ + private static final String getClassName(final String fileName) { + final int lastDot = fileName.lastIndexOf('.'); + if (lastDot == -1) return null; + final int precLastDot = fileName.lastIndexOf('.',lastDot-1); + if (precLastDot == -1) return null; + if (!fileName.substring(precLastDot+1,lastDot).toUpperCase().equals("CLASS")) return null; + return fileName.substring(0,precLastDot-1); + } + + /** + * We will initialize file contents for a class + * @param className the classname + */ + private InputStream openContentStreamClass(final String className) { + StringBuffer contents = new StringBuffer(""); + return new ByteArrayInputStream(contents.toString().getBytes()); + } + + /** * We will initialize file contents with a sample text. */ private InputStream openContentStream() { - String className = fileName.substring(0, fileName.length() - 3); StringBuffer contents = new StringBuffer("