| /* |
| * Copyright 2010 Google Inc. |
| * |
| * Licensed 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 com.google.gwt.logging.impl; |
| |
| import java.util.logging.Level; |
| |
| /** |
| * Implementation for the Level class when logging is enabled. |
| */ |
| public class LevelImplRegular implements LevelImpl { |
| |
| /** |
| * Since the Impl class is in a different package than the Level class, we |
| * need to work around the fact that the Impl class cannot access the |
| * protected Level constructor. |
| */ |
| private static class LevelWithExposedConstructor extends Level { |
| public LevelWithExposedConstructor(String name, int value) { |
| super(name, value); |
| } |
| } |
| |
| private static Level ALL = |
| new LevelWithExposedConstructor("ALL", Integer.MIN_VALUE); |
| private static Level CONFIG = |
| new LevelWithExposedConstructor("CONFIG", 700); |
| private static Level FINE = |
| new LevelWithExposedConstructor("FINE", 500); |
| private static Level FINER = |
| new LevelWithExposedConstructor("FINER", 400); |
| private static Level FINEST = |
| new LevelWithExposedConstructor("FINEST", 300); |
| private static Level INFO = |
| new LevelWithExposedConstructor("INFO", 800); |
| private static Level OFF = |
| new LevelWithExposedConstructor("OFF", Integer.MAX_VALUE); |
| private static Level SEVERE = |
| new LevelWithExposedConstructor("SEVERE", 1000); |
| private static Level WARNING = |
| new LevelWithExposedConstructor("WARNING", 900); |
| |
| private String name; |
| private int value; |
| |
| public LevelImplRegular() { } |
| |
| public Level all() { |
| return LevelImplRegular.ALL; |
| } |
| |
| public Level config() { |
| return LevelImplRegular.CONFIG; |
| } |
| |
| public Level fine() { |
| return LevelImplRegular.FINE; |
| } |
| |
| public Level finer() { |
| return LevelImplRegular.FINER; |
| } |
| |
| public Level finest() { |
| return LevelImplRegular.FINEST; |
| } |
| |
| public String getName() { |
| return name; |
| } |
| |
| public Level info() { |
| return LevelImplRegular.INFO; |
| } |
| |
| public int intValue() { |
| return value; |
| } |
| |
| public Level off() { |
| return LevelImplRegular.OFF; |
| } |
| |
| public Level parse(String name) { |
| if (name.equalsIgnoreCase(all().getName())) { |
| return all(); |
| } else if (name.equalsIgnoreCase(config().getName())) { |
| return config(); |
| } else if (name.equalsIgnoreCase(fine().getName())) { |
| return fine(); |
| } else if (name.equalsIgnoreCase(finer().getName())) { |
| return finer(); |
| } else if (name.equalsIgnoreCase(finest().getName())) { |
| return finest(); |
| } else if (name.equalsIgnoreCase(info().getName())) { |
| return info(); |
| } else if (name.equalsIgnoreCase(off().getName())) { |
| return off(); |
| } else if (name.equalsIgnoreCase(severe().getName())) { |
| return severe(); |
| } else if (name.equalsIgnoreCase(warning().getName())) { |
| return warning(); |
| } |
| return null; |
| } |
| |
| public void setName(String newName) { |
| name = newName; |
| } |
| |
| public void setValue(int newValue) { |
| value = newValue; |
| } |
| |
| public Level severe() { |
| return LevelImplRegular.SEVERE; |
| } |
| |
| @Override |
| public String toString() { |
| return getName(); |
| } |
| |
| public Level warning() { |
| return LevelImplRegular.WARNING; |
| } |
| } |