001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.api.java.source;
043:
044: import java.util.prefs.Preferences;
045: import org.netbeans.api.project.Project;
046: import org.netbeans.modules.java.ui.FmtOptions;
047:
048: import static org.netbeans.modules.java.ui.FmtOptions.*;
049:
050: /**
051: * XXX make sure the getters get the defaults from somewhere
052: * XXX add support for profiles
053: * XXX get the preferences node from somewhere else in odrer to be able not to
054: * use the getters and to be able to write to it.
055: *
056: * @author Dusan Balek
057: */
058: public final class CodeStyle {
059:
060: private static CodeStyle INSTANCE;
061:
062: static {
063: FmtOptions.codeStyleProducer = new Producer();
064: }
065:
066: private Preferences preferences;
067:
068: private CodeStyle(Preferences preferences) {
069: this .preferences = preferences;
070: }
071:
072: public synchronized static CodeStyle getDefault(Project project) {
073:
074: if (FmtOptions.codeStyleProducer == null) {
075: FmtOptions.codeStyleProducer = new Producer();
076: }
077:
078: if (INSTANCE == null)
079: INSTANCE = create();
080: return INSTANCE;
081: }
082:
083: static CodeStyle create() {
084: return new CodeStyle(FmtOptions.getPreferences(FmtOptions
085: .getCurrentProfileId()));
086: }
087:
088: // General tabs and indents ------------------------------------------------
089:
090: public boolean expandTabToSpaces() {
091: return preferences.getBoolean(expandTabToSpaces,
092: getGlobalExpandTabToSpaces());
093: }
094:
095: public int getTabSize() {
096: return preferences.getInt(tabSize, getGlobalTabSize());
097: }
098:
099: public int getIndentSize() {
100: return preferences.getInt(indentSize, getGlobalIndentSize());
101: }
102:
103: public int getContinuationIndentSize() {
104: return preferences.getInt(continuationIndentSize,
105: getDefaultAsInt(continuationIndentSize));
106: }
107:
108: public int getLabelIndent() {
109: return preferences.getInt(labelIndent,
110: getDefaultAsInt(labelIndent));
111: }
112:
113: public boolean absoluteLabelIndent() {
114: return preferences.getBoolean(absoluteLabelIndent,
115: getDefaultAsBoolean(absoluteLabelIndent));
116: }
117:
118: public boolean indentTopLevelClassMembers() {
119: return preferences.getBoolean(indentTopLevelClassMembers,
120: getDefaultAsBoolean(indentTopLevelClassMembers));
121: }
122:
123: public boolean indentCasesFromSwitch() {
124: return preferences.getBoolean(indentCasesFromSwitch,
125: getDefaultAsBoolean(indentCasesFromSwitch));
126: }
127:
128: public int getRightMargin() {
129: return preferences.getInt(rightMargin, getGlobalRightMargin());
130: }
131:
132: // Code generation ---------------------------------------------------------
133:
134: public boolean preferLongerNames() {
135: return preferences.getBoolean(preferLongerNames,
136: getDefaultAsBoolean(preferLongerNames));
137: }
138:
139: public String getFieldNamePrefix() {
140: return preferences.get(fieldNamePrefix,
141: getDefaultAsString(fieldNamePrefix));
142: }
143:
144: public String getFieldNameSuffix() {
145: return preferences.get(fieldNameSuffix,
146: getDefaultAsString(fieldNameSuffix));
147: }
148:
149: public String getStaticFieldNamePrefix() {
150: return preferences.get(staticFieldNamePrefix,
151: getDefaultAsString(staticFieldNamePrefix));
152: }
153:
154: public String getStaticFieldNameSuffix() {
155: return preferences.get(staticFieldNameSuffix,
156: getDefaultAsString(staticFieldNameSuffix));
157: }
158:
159: public String getParameterNamePrefix() {
160: return preferences.get(parameterNamePrefix,
161: getDefaultAsString(parameterNamePrefix));
162: }
163:
164: public String getParameterNameSuffix() {
165: return preferences.get(parameterNameSuffix,
166: getDefaultAsString(parameterNameSuffix));
167: }
168:
169: public String getLocalVarNamePrefix() {
170: return preferences.get(localVarNamePrefix,
171: getDefaultAsString(localVarNamePrefix));
172: }
173:
174: public String getLocalVarNameSuffix() {
175: return preferences.get(localVarNameSuffix,
176: getDefaultAsString(localVarNameSuffix));
177: }
178:
179: public boolean qualifyFieldAccess() {
180: return preferences.getBoolean(qualifyFieldAccess,
181: getDefaultAsBoolean(qualifyFieldAccess));
182: }
183:
184: public boolean useIsForBooleanGetters() {
185: return preferences.getBoolean(useIsForBooleanGetters,
186: getDefaultAsBoolean(useIsForBooleanGetters));
187: }
188:
189: public boolean addOverrideAnnotation() {
190: return preferences.getBoolean(addOverrideAnnotation,
191: getDefaultAsBoolean(addOverrideAnnotation));
192: }
193:
194: public boolean makeLocalVarsFinal() {
195: return preferences.getBoolean(makeLocalVarsFinal,
196: getDefaultAsBoolean(makeLocalVarsFinal));
197: }
198:
199: public boolean makeParametersFinal() {
200: return preferences.getBoolean(makeParametersFinal,
201: getDefaultAsBoolean(useFQNs));
202: }
203:
204: // Alignment and braces ----------------------------------------------------
205:
206: public BracePlacement getClassDeclBracePlacement() {
207: String placement = preferences.get(classDeclBracePlacement,
208: getDefaultAsString(classDeclBracePlacement));
209: return BracePlacement.valueOf(placement);
210: }
211:
212: public BracePlacement getMethodDeclBracePlacement() {
213: String placement = preferences.get(methodDeclBracePlacement,
214: getDefaultAsString(methodDeclBracePlacement));
215: return BracePlacement.valueOf(placement);
216: }
217:
218: public BracePlacement getOtherBracePlacement() {
219: String placement = preferences.get(otherBracePlacement,
220: getDefaultAsString(otherBracePlacement));
221: return BracePlacement.valueOf(placement);
222: }
223:
224: public boolean specialElseIf() {
225: return preferences.getBoolean(specialElseIf,
226: getDefaultAsBoolean(specialElseIf));
227: }
228:
229: public BracesGenerationStyle redundantIfBraces() {
230: String redundant = preferences.get(redundantIfBraces,
231: getDefaultAsString(redundantIfBraces));
232: return BracesGenerationStyle.valueOf(redundant);
233: }
234:
235: public BracesGenerationStyle redundantForBraces() {
236: String redundant = preferences.get(redundantForBraces,
237: getDefaultAsString(redundantForBraces));
238: return BracesGenerationStyle.valueOf(redundant);
239: }
240:
241: public BracesGenerationStyle redundantWhileBraces() {
242: String redundant = preferences.get(redundantWhileBraces,
243: getDefaultAsString(redundantWhileBraces));
244: return BracesGenerationStyle.valueOf(redundant);
245: }
246:
247: public BracesGenerationStyle redundantDoWhileBraces() {
248: String redundant = preferences.get(redundantDoWhileBraces,
249: getDefaultAsString(redundantDoWhileBraces));
250: return BracesGenerationStyle.valueOf(redundant);
251: }
252:
253: public boolean alignMultilineMethodParams() {
254: return preferences.getBoolean(alignMultilineMethodParams,
255: getDefaultAsBoolean(alignMultilineMethodParams));
256: }
257:
258: public boolean alignMultilineCallArgs() {
259: return preferences.getBoolean(alignMultilineCallArgs,
260: getDefaultAsBoolean(alignMultilineCallArgs));
261: }
262:
263: public boolean alignMultilineAnnotationArgs() {
264: return preferences.getBoolean(alignMultilineAnnotationArgs,
265: getDefaultAsBoolean(alignMultilineAnnotationArgs));
266: }
267:
268: public boolean alignMultilineImplements() {
269: return preferences.getBoolean(alignMultilineImplements,
270: getDefaultAsBoolean(alignMultilineImplements));
271: }
272:
273: public boolean alignMultilineThrows() {
274: return preferences.getBoolean(alignMultilineThrows,
275: getDefaultAsBoolean(alignMultilineThrows));
276: }
277:
278: public boolean alignMultilineParenthesized() {
279: return preferences.getBoolean(alignMultilineParenthesized,
280: getDefaultAsBoolean(alignMultilineParenthesized));
281: }
282:
283: public boolean alignMultilineBinaryOp() {
284: return preferences.getBoolean(alignMultilineBinaryOp,
285: getDefaultAsBoolean(alignMultilineBinaryOp));
286: }
287:
288: public boolean alignMultilineTernaryOp() {
289: return preferences.getBoolean(alignMultilineTernaryOp,
290: getDefaultAsBoolean(alignMultilineTernaryOp));
291: }
292:
293: public boolean alignMultilineAssignment() {
294: return preferences.getBoolean(alignMultilineAssignment,
295: getDefaultAsBoolean(alignMultilineAssignment));
296: }
297:
298: public boolean alignMultilineFor() {
299: return preferences.getBoolean(alignMultilineFor,
300: getDefaultAsBoolean(alignMultilineFor));
301: }
302:
303: public boolean alignMultilineArrayInit() {
304: return preferences.getBoolean(alignMultilineArrayInit,
305: getDefaultAsBoolean(alignMultilineArrayInit));
306: }
307:
308: public boolean placeElseOnNewLine() {
309: return preferences.getBoolean(placeElseOnNewLine,
310: getDefaultAsBoolean(placeElseOnNewLine));
311: }
312:
313: public boolean placeWhileOnNewLine() {
314: return preferences.getBoolean(placeWhileOnNewLine,
315: getDefaultAsBoolean(placeWhileOnNewLine));
316: }
317:
318: public boolean placeCatchOnNewLine() {
319: return preferences.getBoolean(placeCatchOnNewLine,
320: getDefaultAsBoolean(placeCatchOnNewLine));
321: }
322:
323: public boolean placeFinallyOnNewLine() {
324: return preferences.getBoolean(placeFinallyOnNewLine,
325: getDefaultAsBoolean(placeFinallyOnNewLine));
326: }
327:
328: public boolean placeNewLineAfterModifiers() {
329: return preferences.getBoolean(placeNewLineAfterModifiers,
330: getDefaultAsBoolean(placeNewLineAfterModifiers));
331: }
332:
333: // Wrapping ----------------------------------------------------------------
334:
335: public WrapStyle wrapExtendsImplementsKeyword() {
336: String wrap = preferences.get(wrapExtendsImplementsKeyword,
337: getDefaultAsString(wrapExtendsImplementsKeyword));
338: return WrapStyle.valueOf(wrap);
339: }
340:
341: public WrapStyle wrapExtendsImplementsList() {
342: String wrap = preferences.get(wrapExtendsImplementsList,
343: getDefaultAsString(wrapExtendsImplementsList));
344: return WrapStyle.valueOf(wrap);
345: }
346:
347: public WrapStyle wrapMethodParams() {
348: String wrap = preferences.get(wrapMethodParams,
349: getDefaultAsString(wrapMethodParams));
350: return WrapStyle.valueOf(wrap);
351: }
352:
353: public WrapStyle wrapThrowsKeyword() {
354: String wrap = preferences.get(wrapThrowsKeyword,
355: getDefaultAsString(wrapThrowsKeyword));
356: return WrapStyle.valueOf(wrap);
357: }
358:
359: public WrapStyle wrapThrowsList() {
360: String wrap = preferences.get(wrapThrowsList,
361: getDefaultAsString(wrapThrowsList));
362: return WrapStyle.valueOf(wrap);
363: }
364:
365: public WrapStyle wrapMethodCallArgs() {
366: String wrap = preferences.get(wrapMethodCallArgs,
367: getDefaultAsString(wrapMethodCallArgs));
368: return WrapStyle.valueOf(wrap);
369: }
370:
371: public WrapStyle wrapAnnotationArgs() {
372: String wrap = preferences.get(wrapAnnotationArgs,
373: getDefaultAsString(wrapAnnotationArgs));
374: return WrapStyle.valueOf(wrap);
375: }
376:
377: public WrapStyle wrapChainedMethodCalls() {
378: String wrap = preferences.get(wrapChainedMethodCalls,
379: getDefaultAsString(wrapChainedMethodCalls));
380: return WrapStyle.valueOf(wrap);
381: }
382:
383: public WrapStyle wrapArrayInit() {
384: String wrap = preferences.get(wrapArrayInit,
385: getDefaultAsString(wrapArrayInit));
386: return WrapStyle.valueOf(wrap);
387: }
388:
389: public WrapStyle wrapFor() {
390: String wrap = preferences.get(wrapFor,
391: getDefaultAsString(wrapFor));
392: return WrapStyle.valueOf(wrap);
393: }
394:
395: public WrapStyle wrapForStatement() {
396: String wrap = preferences.get(wrapForStatement,
397: getDefaultAsString(wrapForStatement));
398: return WrapStyle.valueOf(wrap);
399: }
400:
401: public WrapStyle wrapIfStatement() {
402: String wrap = preferences.get(wrapIfStatement,
403: getDefaultAsString(wrapIfStatement));
404: return WrapStyle.valueOf(wrap);
405: }
406:
407: public WrapStyle wrapWhileStatement() {
408: String wrap = preferences.get(wrapWhileStatement,
409: getDefaultAsString(wrapWhileStatement));
410: return WrapStyle.valueOf(wrap);
411: }
412:
413: public WrapStyle wrapDoWhileStatement() {
414: String wrap = preferences.get(wrapDoWhileStatement,
415: getDefaultAsString(wrapDoWhileStatement));
416: return WrapStyle.valueOf(wrap);
417: }
418:
419: public WrapStyle wrapAssert() {
420: String wrap = preferences.get(wrapAssert,
421: getDefaultAsString(wrapAssert));
422: return WrapStyle.valueOf(wrap);
423: }
424:
425: public WrapStyle wrapEnumConstants() {
426: String wrap = preferences.get(wrapEnumConstants,
427: getDefaultAsString(wrapEnumConstants));
428: return WrapStyle.valueOf(wrap);
429: }
430:
431: public WrapStyle wrapAnnotations() {
432: String wrap = preferences.get(wrapAnnotations,
433: getDefaultAsString(wrapAnnotations));
434: return WrapStyle.valueOf(wrap);
435: }
436:
437: public WrapStyle wrapBinaryOps() {
438: String wrap = preferences.get(wrapBinaryOps,
439: getDefaultAsString(wrapBinaryOps));
440: return WrapStyle.valueOf(wrap);
441: }
442:
443: public WrapStyle wrapTernaryOps() {
444: String wrap = preferences.get(wrapTernaryOps,
445: getDefaultAsString(wrapTernaryOps));
446: return WrapStyle.valueOf(wrap);
447: }
448:
449: public WrapStyle wrapAssignOps() {
450: String wrap = preferences.get(wrapAssignOps,
451: getDefaultAsString(wrapAssignOps));
452: return WrapStyle.valueOf(wrap);
453: }
454:
455: // Blank lines -------------------------------------------------------------
456:
457: public int getBlankLinesBeforePackage() {
458: return preferences.getInt(blankLinesBeforePackage,
459: getDefaultAsInt(blankLinesBeforePackage));
460: }
461:
462: public int getBlankLinesAfterPackage() {
463: return preferences.getInt(blankLinesAfterPackage,
464: getDefaultAsInt(blankLinesAfterPackage));
465: }
466:
467: public int getBlankLinesBeforeImports() {
468: return preferences.getInt(blankLinesBeforeImports,
469: getDefaultAsInt(blankLinesBeforeImports));
470: }
471:
472: public int getBlankLinesAfterImports() {
473: return preferences.getInt(blankLinesAfterImports,
474: getDefaultAsInt(blankLinesAfterImports));
475: }
476:
477: public int getBlankLinesBeforeClass() {
478: return preferences.getInt(blankLinesBeforeClass,
479: getDefaultAsInt(blankLinesBeforeClass));
480: }
481:
482: public int getBlankLinesAfterClass() {
483: return preferences.getInt(blankLinesAfterClass,
484: getDefaultAsInt(blankLinesAfterClass));
485: }
486:
487: public int getBlankLinesAfterClassHeader() {
488: return preferences.getInt(blankLinesAfterClassHeader,
489: getDefaultAsInt(blankLinesAfterClassHeader));
490: }
491:
492: public int getBlankLinesBeforeFields() {
493: return preferences.getInt(blankLinesBeforeFields,
494: getDefaultAsInt(blankLinesBeforeFields));
495: }
496:
497: public int getBlankLinesAfterFields() {
498: return preferences.getInt(blankLinesAfterFields,
499: getDefaultAsInt(blankLinesAfterFields));
500: }
501:
502: public int getBlankLinesBeforeMethods() {
503: return preferences.getInt(blankLinesBeforeMethods,
504: getDefaultAsInt(blankLinesBeforeMethods));
505: }
506:
507: public int getBlankLinesAfterMethods() {
508: return preferences.getInt(blankLinesAfterMethods,
509: getDefaultAsInt(blankLinesAfterMethods));
510: }
511:
512: // Spaces ------------------------------------------------------------------
513:
514: public boolean spaceBeforeWhile() {
515: return preferences.getBoolean(spaceBeforeWhile,
516: getDefaultAsBoolean(spaceBeforeWhile));
517: }
518:
519: public boolean spaceBeforeElse() {
520: return preferences.getBoolean(spaceBeforeElse,
521: getDefaultAsBoolean(spaceBeforeElse));
522: }
523:
524: public boolean spaceBeforeCatch() {
525: return preferences.getBoolean(spaceBeforeCatch,
526: getDefaultAsBoolean(spaceBeforeCatch));
527: }
528:
529: public boolean spaceBeforeFinally() {
530: return preferences.getBoolean(spaceBeforeFinally,
531: getDefaultAsBoolean(spaceBeforeFinally));
532: }
533:
534: public boolean spaceBeforeMethodDeclParen() {
535: return preferences.getBoolean(spaceBeforeMethodDeclParen,
536: getDefaultAsBoolean(spaceBeforeMethodDeclParen));
537: }
538:
539: public boolean spaceBeforeMethodCallParen() {
540: return preferences.getBoolean(spaceBeforeMethodCallParen,
541: getDefaultAsBoolean(spaceBeforeMethodCallParen));
542: }
543:
544: public boolean spaceBeforeIfParen() {
545: return preferences.getBoolean(spaceBeforeIfParen,
546: getDefaultAsBoolean(spaceBeforeIfParen));
547: }
548:
549: public boolean spaceBeforeForParen() {
550: return preferences.getBoolean(spaceBeforeForParen,
551: getDefaultAsBoolean(spaceBeforeForParen));
552: }
553:
554: public boolean spaceBeforeWhileParen() {
555: return preferences.getBoolean(spaceBeforeWhileParen,
556: getDefaultAsBoolean(spaceBeforeWhileParen));
557: }
558:
559: public boolean spaceBeforeCatchParen() {
560: return preferences.getBoolean(spaceBeforeCatchParen,
561: getDefaultAsBoolean(spaceBeforeCatchParen));
562: }
563:
564: public boolean spaceBeforeSwitchParen() {
565: return preferences.getBoolean(spaceBeforeSwitchParen,
566: getDefaultAsBoolean(spaceBeforeSwitchParen));
567: }
568:
569: public boolean spaceBeforeSynchronizedParen() {
570: return preferences.getBoolean(spaceBeforeSynchronizedParen,
571: getDefaultAsBoolean(spaceBeforeSynchronizedParen));
572: }
573:
574: public boolean spaceBeforeAnnotationParen() {
575: return preferences.getBoolean(spaceBeforeAnnotationParen,
576: getDefaultAsBoolean(spaceBeforeAnnotationParen));
577: }
578:
579: public boolean spaceAroundUnaryOps() {
580: return preferences.getBoolean(spaceAroundUnaryOps,
581: getDefaultAsBoolean(spaceAroundUnaryOps));
582: }
583:
584: public boolean spaceAroundBinaryOps() {
585: return preferences.getBoolean(spaceAroundBinaryOps,
586: getDefaultAsBoolean(spaceAroundBinaryOps));
587: }
588:
589: public boolean spaceAroundTernaryOps() {
590: return preferences.getBoolean(spaceAroundTernaryOps,
591: getDefaultAsBoolean(spaceAroundTernaryOps));
592: }
593:
594: public boolean spaceAroundAssignOps() {
595: return preferences.getBoolean(spaceAroundAssignOps,
596: getDefaultAsBoolean(spaceAroundAssignOps));
597: }
598:
599: public boolean spaceBeforeClassDeclLeftBrace() {
600: return preferences.getBoolean(spaceBeforeClassDeclLeftBrace,
601: getDefaultAsBoolean(spaceBeforeClassDeclLeftBrace));
602: }
603:
604: public boolean spaceBeforeMethodDeclLeftBrace() {
605: return preferences.getBoolean(spaceBeforeMethodDeclLeftBrace,
606: getDefaultAsBoolean(spaceBeforeMethodDeclLeftBrace));
607: }
608:
609: public boolean spaceBeforeIfLeftBrace() {
610: return preferences.getBoolean(spaceBeforeIfLeftBrace,
611: getDefaultAsBoolean(spaceBeforeIfLeftBrace));
612: }
613:
614: public boolean spaceBeforeElseLeftBrace() {
615: return preferences.getBoolean(spaceBeforeElseLeftBrace,
616: getDefaultAsBoolean(spaceBeforeElseLeftBrace));
617: }
618:
619: public boolean spaceBeforeWhileLeftBrace() {
620: return preferences.getBoolean(spaceBeforeWhileLeftBrace,
621: getDefaultAsBoolean(spaceBeforeWhileLeftBrace));
622: }
623:
624: public boolean spaceBeforeForLeftBrace() {
625: return preferences.getBoolean(spaceBeforeForLeftBrace,
626: getDefaultAsBoolean(spaceBeforeForLeftBrace));
627: }
628:
629: public boolean spaceBeforeDoLeftBrace() {
630: return preferences.getBoolean(spaceBeforeDoLeftBrace,
631: getDefaultAsBoolean(spaceBeforeDoLeftBrace));
632: }
633:
634: public boolean spaceBeforeSwitchLeftBrace() {
635: return preferences.getBoolean(spaceBeforeSwitchLeftBrace,
636: getDefaultAsBoolean(spaceBeforeSwitchLeftBrace));
637: }
638:
639: public boolean spaceBeforeTryLeftBrace() {
640: return preferences.getBoolean(spaceBeforeTryLeftBrace,
641: getDefaultAsBoolean(spaceBeforeTryLeftBrace));
642: }
643:
644: public boolean spaceBeforeCatchLeftBrace() {
645: return preferences.getBoolean(spaceBeforeCatchLeftBrace,
646: getDefaultAsBoolean(spaceBeforeCatchLeftBrace));
647: }
648:
649: public boolean spaceBeforeFinallyLeftBrace() {
650: return preferences.getBoolean(spaceBeforeFinallyLeftBrace,
651: getDefaultAsBoolean(spaceBeforeFinallyLeftBrace));
652: }
653:
654: public boolean spaceBeforeSynchronizedLeftBrace() {
655: return preferences.getBoolean(spaceBeforeSynchronizedLeftBrace,
656: getDefaultAsBoolean(spaceBeforeSynchronizedLeftBrace));
657: }
658:
659: public boolean spaceBeforeStaticInitLeftBrace() {
660: return preferences.getBoolean(spaceBeforeStaticInitLeftBrace,
661: getDefaultAsBoolean(spaceBeforeStaticInitLeftBrace));
662: }
663:
664: public boolean spaceBeforeArrayInitLeftBrace() {
665: return preferences.getBoolean(spaceBeforeArrayInitLeftBrace,
666: getDefaultAsBoolean(spaceBeforeArrayInitLeftBrace));
667: }
668:
669: public boolean spaceWithinParens() {
670: return preferences.getBoolean(spaceWithinParens,
671: getDefaultAsBoolean(spaceWithinParens));
672: }
673:
674: public boolean spaceWithinMethodDeclParens() {
675: return preferences.getBoolean(spaceWithinMethodDeclParens,
676: getDefaultAsBoolean(spaceWithinMethodDeclParens));
677: }
678:
679: public boolean spaceWithinMethodCallParens() {
680: return preferences.getBoolean(spaceWithinMethodCallParens,
681: getDefaultAsBoolean(spaceWithinMethodCallParens));
682: }
683:
684: public boolean spaceWithinIfParens() {
685: return preferences.getBoolean(spaceWithinIfParens,
686: getDefaultAsBoolean(spaceWithinIfParens));
687: }
688:
689: public boolean spaceWithinForParens() {
690: return preferences.getBoolean(spaceWithinForParens,
691: getDefaultAsBoolean(spaceWithinForParens));
692: }
693:
694: public boolean spaceWithinWhileParens() {
695: return preferences.getBoolean(spaceWithinWhileParens,
696: getDefaultAsBoolean(spaceWithinWhileParens));
697: }
698:
699: public boolean spaceWithinSwitchParens() {
700: return preferences.getBoolean(spaceWithinSwitchParens,
701: getDefaultAsBoolean(spaceWithinSwitchParens));
702: }
703:
704: public boolean spaceWithinCatchParens() {
705: return preferences.getBoolean(spaceWithinCatchParens,
706: getDefaultAsBoolean(spaceWithinCatchParens));
707: }
708:
709: public boolean spaceWithinSynchronizedParens() {
710: return preferences.getBoolean(spaceWithinSynchronizedParens,
711: getDefaultAsBoolean(spaceWithinSynchronizedParens));
712: }
713:
714: public boolean spaceWithinTypeCastParens() {
715: return preferences.getBoolean(spaceWithinTypeCastParens,
716: getDefaultAsBoolean(spaceWithinTypeCastParens));
717: }
718:
719: public boolean spaceWithinAnnotationParens() {
720: return preferences.getBoolean(spaceWithinAnnotationParens,
721: getDefaultAsBoolean(spaceWithinAnnotationParens));
722: }
723:
724: public boolean spaceWithinBraces() {
725: return preferences.getBoolean(spaceWithinBraces,
726: getDefaultAsBoolean(spaceWithinBraces));
727: }
728:
729: public boolean spaceWithinArrayInitBrackets() {
730: return preferences.getBoolean(spaceWithinArrayInitBrackets,
731: getDefaultAsBoolean(spaceWithinArrayInitBrackets));
732: }
733:
734: public boolean spaceBeforeComma() {
735: return preferences.getBoolean(spaceBeforeComma,
736: getDefaultAsBoolean(spaceBeforeComma));
737: }
738:
739: public boolean spaceAfterComma() {
740: return preferences.getBoolean(spaceAfterComma,
741: getDefaultAsBoolean(spaceAfterComma));
742: }
743:
744: public boolean spaceBeforeSemi() {
745: return preferences.getBoolean(spaceBeforeSemi,
746: getDefaultAsBoolean(spaceBeforeSemi));
747: }
748:
749: public boolean spaceAfterSemi() {
750: return preferences.getBoolean(spaceAfterSemi,
751: getDefaultAsBoolean(spaceAfterSemi));
752: }
753:
754: public boolean spaceBeforeColon() {
755: return preferences.getBoolean(spaceBeforeColon,
756: getDefaultAsBoolean(spaceBeforeColon));
757: }
758:
759: public boolean spaceAfterColon() {
760: return preferences.getBoolean(spaceAfterColon,
761: getDefaultAsBoolean(spaceAfterColon));
762: }
763:
764: public boolean spaceAfterTypeCast() {
765: return preferences.getBoolean(spaceAfterTypeCast,
766: getDefaultAsBoolean(spaceAfterTypeCast));
767: }
768:
769: // Imports -----------------------------------------------------------------
770:
771: public boolean useSingleClassImport() {
772: return preferences.getBoolean(useSingleClassImport,
773: getDefaultAsBoolean(useSingleClassImport));
774: }
775:
776: public boolean useFQNs() {
777: return preferences.getBoolean(useFQNs,
778: getDefaultAsBoolean(useFQNs));
779: }
780:
781: public int countForUsingStarImport() {
782: return preferences.getInt(countForUsingStarImport,
783: getDefaultAsInt(countForUsingStarImport));
784: }
785:
786: public int countForUsingStaticStarImport() {
787: return preferences.getInt(countForUsingStaticStarImport,
788: getDefaultAsInt(countForUsingStaticStarImport));
789: }
790:
791: public String[] getPackagesForStarImport() {
792: return null;
793: }
794:
795: // Nested classes ----------------------------------------------------------
796:
797: public enum BracePlacement {
798: SAME_LINE, NEW_LINE, NEW_LINE_HALF_INDENTED, NEW_LINE_INDENTED
799: }
800:
801: public enum BracesGenerationStyle {
802: GENERATE, LEAVE_ALONE, ELIMINATE
803: }
804:
805: public enum WrapStyle {
806: WRAP_ALWAYS, WRAP_IF_LONG, WRAP_NEVER
807: }
808:
809: // Communication with non public packages ----------------------------------
810:
811: private static class Producer implements
812: FmtOptions.CodeStyleProducer {
813:
814: public CodeStyle create(Preferences preferences) {
815: return new CodeStyle(preferences);
816: }
817:
818: }
819:
820: }
|