/* * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package flex2.compiler.config; //import flash.localization.LocalizationManager; import flex2.compiler.ILocalizableMessage; //import flex2.compiler.util.ThreadLocalToolkit; /** * A common base class for configuration related exceptions. * * @author Roger Gonzalez */ public class ConfigurationException extends Exception implements ILocalizableMessage { private static final long serialVersionUID = -2435642161291588713L; public ConfigurationException( String msg ) { super( msg ); } public ConfigurationException( String var, String source, int line ) { this.var = var; this.source = source; this.line = line; } public String getLevel() { return ERROR; } public String getPath() { return source; } public void setPath(String path) { source = path; } public int getLine() { return line; } public void setLine(int line) { this.line = line; } public int getColumn() { return -1; } public void setColumn(int column) { } public Exception getExceptionDetail() { return null; } public boolean isPathAvailable() { return true; } public static class UnknownVariable extends ConfigurationException { private static final long serialVersionUID = 8571582080586301558L; public UnknownVariable( String var, String source, int line ) { super( var, source, line ); } } public static class IllegalMultipleSet extends ConfigurationException { private static final long serialVersionUID = 7419980739937494086L; public IllegalMultipleSet( String var, String source, int line ) { super( var, source, line ); } } public static class UnexpectedDefaults extends ConfigurationException { private static final long serialVersionUID = 3830239641111918142L; public UnexpectedDefaults( String var, String source, int line ) { super( var, source, line ); } } public static class InterspersedDefaults extends ConfigurationException { private static final long serialVersionUID = 4604939375999662998L; public InterspersedDefaults( String var, String source, int line ) { super( var, source, line ); } } public String var = null; public String source = null; public int line = -1; public static class AmbiguousParse extends ConfigurationException { private static final long serialVersionUID = -8207848984128407945L; public AmbiguousParse( String defaultvar, String var, String source, int line ) { super( var, source, line ); this.defaultvar = defaultvar; } public String defaultvar; } public static class Token extends ConfigurationException { private static final long serialVersionUID = 9018726365196176871L; public static final String MISSING_DELIMITER = "MissingDelimiter"; public static final String MULTIPLE_VALUES = "MultipleValues"; public static final String UNKNOWN_TOKEN = "UnknownToken"; public static final String RECURSION_LIMIT = "RecursionLimit"; public static final String INSUFFICIENT_ARGS = "InsufficientArgs"; public Token( String id, String token, String var, String source, int line ) { super( var, source, line ); this.token = token; this.id = id; } public String id; public String token; } public static class IncorrectArgumentCount extends ConfigurationException { private static final long serialVersionUID = 7926363942942750268L; public IncorrectArgumentCount( int expected, int passed, String var, String source, int line ) { super( var, source, line ); this.expected = expected; this.passed = passed; } public int expected; public int passed; } public static class VariableMissingRequirement extends ConfigurationException { private static final long serialVersionUID = -9165402878493963589L; public VariableMissingRequirement( String required, String var, String source, int line ) { super( var, source, line ); this.required = required; } public String required; } public static class MissingRequirement extends ConfigurationException { private static final long serialVersionUID = -5579697104441150933L; public MissingRequirement( String required, String var, String source, int line ) { super( null, source, line ); this.required = required; } public String required; } public static class OtherThrowable extends ConfigurationException { private static final long serialVersionUID = -6369637486598549167L; public OtherThrowable( Throwable t, String var, String source, int line ) { super( var, source, line ); this.throwable = t; } public Throwable throwable; } public static class BadValue extends ConfigurationException { private static final long serialVersionUID = 6359203893459990766L; public BadValue( String value, String var, String source, int line ) { super( var, source, line ); this.value = value; } public String value; } public static class TypeMismatch extends BadValue { private static final long serialVersionUID = 4440833762090886016L; public static final String BOOLEAN = "Boolean"; public static final String INTEGER = "Integer"; public static final String LONG = "Long"; public TypeMismatch( String type, String value, String var, String source, int line ) { super( value, var, source, line ); this.id = type; } public String id; // named id in order to act as a subkey for L10N mgr } public static class ConfigurationIOError extends ConfigurationException { private static final long serialVersionUID = 4447234734754165407L; public ConfigurationIOError( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class IOError extends ConfigurationIOError { private static final long serialVersionUID = -8336197665007633417L; public IOError( String path ) { super( path, null, null, -1 ); } } public static class NotDirectory extends ConfigurationException { private static final long serialVersionUID = -348688657801200826L; public NotDirectory( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class NotAFile extends ConfigurationException { private static final long serialVersionUID = -6104353214119208388L; public NotAFile( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class NotADirectory extends ConfigurationException { private static final long serialVersionUID = 3299637904535594472L; public NotADirectory( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class UnexpectedElement extends ConfigurationException { private static final long serialVersionUID = 7361308977824266323L; public UnexpectedElement( String found, String source, int line ) { super( null, source, line ); this.found = found; } public String found; } public static class IncorrectElement extends ConfigurationException { private static final long serialVersionUID = -2038447202094268310L; public IncorrectElement( String expected, String found, String source, int line ) { super( null, source, line ); this.expected = expected; this.found = found; } public String expected; public String found; } public static class UnexpectedCDATA extends ConfigurationException { private static final long serialVersionUID = 7860440395272751620L; public UnexpectedCDATA( String source, int line ) { super( null, source, line ); } } // "I came here for an argument!" // "No you didn't." public static class MissingArgument extends ConfigurationException { private static final long serialVersionUID = -5463734098797737741L; public MissingArgument( String argument, String var, String source, int line ) { super( var, source, line ); this.argument = argument; } public String argument; } public static class UnexpectedArgument extends ConfigurationException { private static final long serialVersionUID = -8845402586579325956L; public UnexpectedArgument( String expected, String argument, String var, String source, int line ) { super( var, source, line ); this.expected = expected; this.argument = argument; } public String argument; public String expected; } public static class BadAppendValue extends ConfigurationException { private static final long serialVersionUID = 1552561566382094415L; public BadAppendValue( String var, String source, int line ) { super( var, source, line ); } } public static class BadVersion extends ConfigurationException { private static final long serialVersionUID = 5226991469529337229L; public BadVersion( String version, String var) { super( var, null, -1); this.version = version; } public String version; } public static class FileTooBig extends ConfigurationException { private static final long serialVersionUID = -786476651372253779L; public FileTooBig( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class BadDefinition extends ConfigurationException { private static final long serialVersionUID = -325852269490101058L; public BadDefinition( String argument, String var, String source, int line ) { super( var, source, line ); this.argument = argument; } public String argument; } public static class BadFrameParameters extends ConfigurationException { private static final long serialVersionUID = -2323511087396160382L; public BadFrameParameters( String var, String source, int line ) { super( var, source, line ); } } public static class GreaterThanZero extends ConfigurationException { private static final long serialVersionUID = 3912071331977316395L; public GreaterThanZero( String var, String source, int line ) { super( var, source, line ); } } public static class MustSpecifyTarget extends ConfigurationException { private static final long serialVersionUID = 9112152606473481404L; public MustSpecifyTarget( String var, String source, int line ) { super( var, source, line ); } } public static class NoSwcInputs extends ConfigurationException { private static final long serialVersionUID = 3980913434019979144L; public NoSwcInputs( String var, String source, int line ) { super( var, source, line ); } } public static class OnlyOneSource extends ConfigurationException { private static final long serialVersionUID = 1234968103239361023L; public OnlyOneSource( String var, String source, int line ) { super( var, source, line ); } } public static class CouldNotCreateConfig extends ConfigurationException { private static final long serialVersionUID = -6969824220592565605L; public CouldNotCreateConfig( String var, String source, int line ) { super( var, source, line ); } } public static class BadMetadataCombo extends ConfigurationException { private static final long serialVersionUID = 3406393415937431348L; public BadMetadataCombo( String var, String source, int line ) { super( var, source, line ); } } public static class IllegalDimensions extends ConfigurationException { private static final long serialVersionUID = -7259122437168158126L; public IllegalDimensions( int width, int height, String var, String source, int line ) { super( var, source, line ); this.width = width; this.height = height; } public int width; public int height; } public static class CannotOpen extends ConfigurationException { private static final long serialVersionUID = -7773063809601129906L; public CannotOpen( String path, String var, String source, int line ) { super(var, source, line ); this.path = path; } public String path; } public static class UnknownNamespace extends ConfigurationException { private static final long serialVersionUID = -5393732592631516166L; public UnknownNamespace( String ns, String var, String source, int line ) { super( var, source, line ); this.namespace = ns; } public String namespace; } public static class DirectoryNotEmpty extends ConfigurationException { private static final long serialVersionUID = 359443368875780282L; public DirectoryNotEmpty( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class RedundantFile extends ConfigurationException { private static final long serialVersionUID = -6206003786362484586L; public RedundantFile( String path, String var, String source, int line ) { super( var, source, line ); this.path = path; } public String path; } public static class ObsoleteVariable extends ConfigurationException { private static final long serialVersionUID = 3622916477413320447L; public ObsoleteVariable( String replacement, String var, String source, int line ) { super( var, source, line ); this.replacement = replacement; } public String replacement; } public static class NoASDocInputs extends ConfigurationException { private static final long serialVersionUID = 2151330864688948051L; public NoASDocInputs() { super( null, null, -1 ); } } public static class BadExcludeDependencies extends ConfigurationException { private static final long serialVersionUID = -8463049402307139110L; public BadExcludeDependencies() { super( null, null, -1 ); } } public static class NamespaceMissingManifest extends ConfigurationException { private static final long serialVersionUID = 1840362182782082436L; public NamespaceMissingManifest(String var, String source, int line) { super(var, source, line); } } public static class ToolsLocaleNotAvailable extends ConfigurationException { private static final long serialVersionUID = 1840362182782082437L; public ToolsLocaleNotAvailable(String var, String source, int line) { super(var, source, line); } } /** * Error for when -include-inheritance-dependencies-only is true but -include-classes does * not specify any classes. * */ public static class MissingIncludeClasses extends ConfigurationException { private static final long serialVersionUID = 1631608860338388417L; public MissingIncludeClasses() { super( null, null, -1); } } /** * The user was trying to modify an RSL option associated with a SWC but the SWC had * no RSL data. * */ public static class SwcDoesNotHaveRslData extends ConfigurationException { private static final long serialVersionUID = 8048448308683132926L; public SwcDoesNotHaveRslData(String swcPath, String var, String source, int line) { super(var, source, line); this.swcPath = swcPath; } public String swcPath; } /** * The application domain specified did not match one of the possible values. * */ public static class BadApplicationDomainValue extends ConfigurationException { private static final long serialVersionUID = -3575875352932278137L; public BadApplicationDomainValue(String swcPath, String argument, String var, String source, int line) { super(var, source, line); this.swcPath = swcPath; this.argument = argument; } public String swcPath; public String argument; } public String getMessage() { String msg = super.getMessage(); if (msg != null && msg.length() > 0) { return msg; } /* AJH later else { LocalizationManager l10n = ThreadLocalToolkit.getLocalizationManager(); if (l10n == null) { return null; } else { return l10n.getLocalizedTextString(this); } } */ return null; } public String toString() { return getMessage(); } }