/*
 *    Copyright (c) 2008-2011 Graham Allan
 *
 *   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 org.mutabilitydetector.locations;

import javax.annotation.concurrent.Immutable;

import com.google.common.base.Function;

@Immutable
public final class Dotted extends ClassName {

    private Dotted(String className) {
        super(className);
    }
    
    public static final Function<String, Dotted> TO_DOTTED = new Function<String, Dotted>() {
		@Override public Dotted apply(String className) { return dotted(className); }
    };

    public static Dotted dotted(String dottedClassName) {
        return new Dotted(new ClassNameConverter().dotted(dottedClassName));
    }

    public static Dotted fromSlashed(Slashed slashedClassName) {
        String converted = new ClassNameConverter().dotted(slashedClassName.asString());
        return dotted(converted);
    }

    public static Dotted fromSlashedString(String slashedClassNameString) {
        String dottedClassNameString = new ClassNameConverter().dotted(slashedClassNameString);
        return dotted(dottedClassNameString);
    }

    public static Dotted fromClass(Class<?> clazz) {
        return dotted(clazz.getName());
    }

}

@@ -1105,31 +1105,25 @@
 tted(String 
-dottedC
+c
 lassName) %7B%0A
@@ -1176,31 +1176,25 @@
 er().dotted(
-dottedC
+c
 lassName));%0A
@@ -1245,24 +1245,17 @@
 Slashed 
-slashedC
+c
 lassName
@@ -1313,32 +1313,25 @@
 er().dotted(
-slashedC
+c
 lassName.asS
@@ -1431,32 +1431,25 @@
 (String 
-slashedC
+c
 lassName
 String) 
@@ -1440,22 +1440,16 @@
 lassName
-String
 ) %7B%0A    
@@ -1519,24 +1519,17 @@
 ted(
-slashedC
+c
 lassName
 Stri
@@ -1520,30 +1520,24 @@
 ed(className
-String
 );%0A        r

Rename parameter.