Source Code Cross Referenced for Context.java in  » UML » jrefactory » org » acm » seguin » completer » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » UML » jrefactory » org.acm.seguin.completer 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        package org.acm.seguin.completer;
002:
003:        /*
004:         * Copyright (c) 2002, Beau Tateyama
005:         *
006:         * This program is free software; you can redistribute it and/or
007:         * modify it under the terms of the GNU General Public License
008:         * as published by the Free Software Foundation; either version 2
009:         * of the License, or any later version.
010:         *
011:         * This program is distributed in the hope that it will be useful,
012:         * but WITHOUT ANY WARRANTY; without even the implied warranty of
013:         * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014:         * GNU General Public License for more details.
015:         *
016:         * You should have received a copy of the GNU General Public License
017:         * along with this program; if not, write to the Free Software
018:         * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
019:         */
020:
021:        //import anthelper.utils.SrcInfoUtils;
022:        //import anthelper.utils.JEditLogger;
023:        import java.io.File;
024:        import java.lang.CloneNotSupportedException;
025:        import java.lang.reflect.Field;
026:        import java.lang.reflect.Modifier;
027:        import java.util.Comparator;
028:        import java.util.Hashtable;
029:        import java.util.Iterator;
030:        import java.util.Map;
031:        import java.util.TreeMap;
032:        import java.util.TreeSet;
033:        import java.util.List;
034:        import java.util.ArrayList;
035:        import java.util.StringTokenizer;
036:        import org.apache.tools.ant.Project;
037:        import org.gjt.sp.jedit.*;
038:        import org.acm.seguin.ide.jedit.Navigator;
039:
040:        public class Context {
041:            // @TODO:  would be nice to have equals, clone, and test driver
042:            final static Navigator.NavigatorLogger logger = Completer
043:                    .getLogger(ClassPathSrcMgr.class);
044:
045:            private static final class Keys {
046:                static final String FILE_BUILD = "FILE_BUILD";
047:                static final String FILE_OUTPUT_DIR = "FILE_OUTPUT_DIR";
048:                static final String FILE_SRC_DIR = "FILE_SRC_DIR";
049:                static final String TASKA = "TASKA";
050:                static final String TASKB = "TASKB";
051:                static final String TASKC = "TASKC";
052:                static final String TASKD = "TASKD";
053:                static final String CLASSPATH = "CLASSPATH";
054:                static final String CLASSPATH_REF_ID = "CLASSPATH_REF_ID";
055:                static final String SOURCEPATH = "SOURCE_PATH";
056:                static final String SOURCEPATH_REF_ID = "SOURCE_PATH_REF_ID";
057:
058:                static final String JVM_OPTIONS = "JVM_OPTIONS";
059:                static final String RUN_PARAMS = "RUN_PARAMS";
060:                static final String B_SAVE_BEFORE_COMPILE = "B_SAVE_BEFORE_COMPILE";
061:                static final String B_SAVE_BEFORE_RUN = "B_SAVE_BEFORE_RUN";
062:                static final String B_SYNC_TO_SPEEDJAVA = "B_SYNC_TO_SPEEDJAVA";
063:                static final String L_LAST_MOD = "L_LAST_MOD";
064:                static final String CLASS_NAME_CACHE = "CLASS_NAME_CACHE";
065:                static final String PROJECT = "PROJECT";
066:
067:            }
068:
069:            // the main data map
070:            Map _mapData = new Hashtable();
071:            // a cache of source dirs
072:            File[] _fileSourceDirs = null;
073:
074:            Context(File argFile) {
075:                _put(Keys.FILE_BUILD, argFile);
076:                // defaults
077:                _put(Keys.B_SAVE_BEFORE_COMPILE, Boolean.TRUE);
078:                _put(Keys.B_SAVE_BEFORE_RUN, Boolean.TRUE);
079:                _put(Keys.B_SYNC_TO_SPEEDJAVA, Boolean.TRUE);
080:                _put(Keys.TASKA, "compile");
081:                _put(Keys.TASKB, "dist");
082:                _put(Keys.TASKC, "clean");
083:            }
084:
085:            public String getAntTaskA() {
086:                return _getString(Keys.TASKA);
087:            }
088:
089:            public String getAntTaskB() {
090:                return _getString(Keys.TASKB);
091:            }
092:
093:            public String getAntTaskC() {
094:                return _getString(Keys.TASKC);
095:            }
096:
097:            public String getAntTaskD() {
098:                return _getString(Keys.TASKD);
099:            }
100:
101:            public void setAntTaskA(String argTaskName) {
102:                _put(Keys.TASKA, argTaskName);
103:            }
104:
105:            public void setAntTaskB(String argTaskName) {
106:                _put(Keys.TASKB, argTaskName);
107:            }
108:
109:            public void setAntTaskC(String argTaskName) {
110:                _put(Keys.TASKC, argTaskName);
111:            }
112:
113:            public void setAntTaskD(String argTaskName) {
114:                _put(Keys.TASKD, argTaskName);
115:            }
116:
117:            public File getBuildFile() {
118:                return _getFile(Keys.FILE_BUILD);
119:            }
120:
121:            public File getOutputDirectory() {
122:                return _getFile(Keys.FILE_OUTPUT_DIR);
123:            }
124:
125:            public void setOutputDirectory(File argFile) {
126:                _put(Keys.FILE_OUTPUT_DIR, argFile);
127:            }
128:
129:            /*
130:            public File getSourceDirectory(){ return _getFile(Keys.FILE_SRC_DIR); }
131:            public void setSourceDirectory(File argFile){ _put(Keys.FILE_SRC_DIR, argFile); }
132:             */
133:
134:            public String getJVMOptions() {
135:                return _getString(Keys.JVM_OPTIONS);
136:            }
137:
138:            public void setJVMOptions(String arg) {
139:                _put(Keys.JVM_OPTIONS, arg);
140:            }
141:
142:            public String getRunParams() {
143:                return _getString(Keys.RUN_PARAMS);
144:            }
145:
146:            public void setRunParams(String arg) {
147:                _put(Keys.RUN_PARAMS, arg);
148:            }
149:
150:            public String getClassPath() {
151:                return _getString(Keys.CLASSPATH);
152:            }
153:
154:            public void setClassPath(String argClassPath) {
155:                _put(Keys.CLASSPATH, argClassPath);
156:            }
157:
158:            public String getClassPathRefID() {
159:                return _getString(Keys.CLASSPATH_REF_ID);
160:            }
161:
162:            public void setClassPathRefID(String argRefID) {
163:                _put(Keys.CLASSPATH_REF_ID, argRefID);
164:            }
165:
166:            public String getSourcePath() {
167:                return _getString(Keys.SOURCEPATH);
168:            }
169:
170:            public void setSourcePath(String argSourcePath) {
171:                _put(Keys.SOURCEPATH, argSourcePath);
172:                if (argSourcePath == null) {
173:                    _fileSourceDirs = null;
174:                } else {
175:                    _fileSourceDirs = pathToList(argSourcePath);
176:                }
177:            }
178:
179:            public File[] getSourceDirectories() {
180:                return _fileSourceDirs;
181:            }
182:
183:            public static File[] pathToList(String argCP) {
184:                File[] files = null;
185:                if (argCP != null) {
186:                    List listFiles = new ArrayList();
187:                    for (StringTokenizer st = new StringTokenizer(argCP,
188:                            File.pathSeparator); st.hasMoreTokens();) {
189:                        listFiles.add(new File(st.nextToken()));
190:                    }
191:                    files = (File[]) listFiles.toArray(new File[listFiles
192:                            .size()]);
193:                }
194:                return files;
195:            }
196:
197:            public String getSourcePathRefID() {
198:                return _getString(Keys.SOURCEPATH_REF_ID);
199:            }
200:
201:            public void setSourcePathRefID(String argRefID) {
202:                _put(Keys.SOURCEPATH_REF_ID, argRefID);
203:            }
204:
205:            public boolean getSaveBeforeCompile() {
206:                return _getBoolean(Keys.B_SAVE_BEFORE_COMPILE);
207:            }
208:
209:            public boolean getSaveBeforeRun() {
210:                return _getBoolean(Keys.B_SAVE_BEFORE_RUN);
211:            }
212:
213:            public boolean getSyncToSpeedJava() {
214:                return _getBoolean(Keys.B_SYNC_TO_SPEEDJAVA);
215:            }
216:
217:            public void setSaveBeforeCompile(boolean arg) {
218:                _put(Keys.B_SAVE_BEFORE_COMPILE, new Boolean(arg));
219:            }
220:
221:            public void setSaveBeforeRun(boolean arg) {
222:                _put(Keys.B_SAVE_BEFORE_RUN, new Boolean(arg));
223:            }
224:
225:            public void setSyncToSpeedJava(boolean arg) {
226:                _put(Keys.B_SYNC_TO_SPEEDJAVA, new Boolean(arg));
227:            }
228:
229:            public long getLastMod() {
230:                Long lastMod = (Long) _mapData.get(Keys.L_LAST_MOD);
231:                if (lastMod == null) {
232:                    lastMod = new Long(getBuildFile().lastModified());
233:                    _put(Keys.L_LAST_MOD, lastMod);
234:                }
235:                return lastMod.longValue();
236:            }
237:
238:            public void setLastMod(long arg) {
239:                _put(Keys.L_LAST_MOD, new Long(arg));
240:            }
241:
242:            public synchronized ClassNameCache getClassNameCache() {
243:                ClassNameCache cnc = (ClassNameCache) _mapData
244:                        .get(Keys.CLASS_NAME_CACHE);
245:                if (cnc == null) {
246:                    String strCP = getClassPath();
247:                    if (strCP == null) {
248:                        // null cp, so guess something...if source dir is null, this is a new context
249:                        strCP = (getSourcePath() == null ? "" : getSourcePath());
250:                    }
251:                    cnc = new ClassNameCache(strCP);
252:                    _put(Keys.CLASS_NAME_CACHE, cnc);
253:                }
254:                return cnc;
255:            }
256:
257:            public synchronized void resetClassNameCache() {
258:                _mapData.remove(Keys.CLASS_NAME_CACHE);
259:            }
260:
261:            public synchronized Project getProject() {
262:                Project proj = (Project) _mapData.get(Keys.PROJECT);
263:                if (proj == null) {
264:                    //FIXME:    proj = AntUtils.createAndInitProject(getBuildFile());
265:                }
266:                return proj;
267:            }
268:
269:            public synchronized void setProject(Project arg) {
270:                _put(Keys.PROJECT, arg);
271:            }
272:
273:            class ToStringComparator implements  Comparator {
274:                public int compare(Object o1, Object o2) {
275:                    return o1.toString().compareTo(o2.toString());
276:                }
277:            }
278:
279:            public String toString() {
280:
281:                TreeSet setKeys = new TreeSet();
282:                Field[] fields = Keys.class.getDeclaredFields();
283:                for (int i = 0, l = fields.length; i < l; i++) {
284:                    setKeys.add(fields[i].getName());
285:                }
286:
287:                String NL = "\n", TAB = "\t";
288:                StringBuffer sb = new StringBuffer("[" + super .toString() + "]"
289:                        + NL);
290:                String strKey;
291:                Object objVal;
292:                for (Iterator it = setKeys.iterator(); it.hasNext();) {
293:                    strKey = it.next().toString();
294:                    objVal = _mapData.get(strKey);
295:                    sb.append(TAB).append(strKey);
296:                    sb.append("=");
297:                    sb.append(objVal == null ? "" : objVal.toString()).append(
298:                            NL);
299:                }
300:                return sb.toString();
301:            }
302:
303:            private void _put(Object objKey, Object objVal) {
304:                if (objKey != null && objVal != null) {
305:                    _mapData.put(objKey, objVal);
306:                }
307:            }
308:
309:            private String _getString(Object objKey) {
310:                return (String) (objKey == null ? null : _mapData.get(objKey));
311:            }
312:
313:            private File _getFile(Object objKey) {
314:                return (File) (objKey == null ? null : _mapData.get(objKey));
315:            }
316:
317:            private boolean _getBoolean(Object objKey) {
318:                boolean b = false;
319:                if (objKey != null) {
320:                    Object objVal = _mapData.get(objKey);
321:                    b = objVal == null ? false : ((Boolean) _mapData
322:                            .get(objKey)).booleanValue();
323:                }
324:                return b;
325:            }
326:
327:            public int hashCode() {
328:                // we just add a random offset
329:                return _mapData.hashCode() + 10220;
330:            }
331:
332:            public boolean equals(Object o) {
333:                if (this  == o) { // Step 1: Perform an == test
334:                    return true;
335:                }
336:
337:                if (!(o instanceof  Context)) {
338:                    return false;
339:                }
340:                Context context = (Context) o;
341:                return context._mapData.equals(this ._mapData);
342:            }
343:
344:            public static Context getTestContext() {
345:                return new Context(
346:                        new File(
347:                                "C:/Documents and Settings/ueab/.jedit/jars/AntHelper/build.xml"));
348:            }
349:
350:            public static void main(String[] args) {
351:                try {
352:                    logger.msg(getTestContext().toString());
353:                } catch (Throwable t) {
354:                    t.printStackTrace();
355:                }
356:            }
357:
358:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.