Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2010 the original author or authors.
  *
  * 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.callbackparams.support;
import  org.apache.bcel.classfile.ConstantUtf8;
import  org.apache.bcel.classfile.EmptyVisitor;

Author(s):
Henrik Kaipe
public class ClassConstantModifyingVisitor extends EmptyVisitor {
    private static final Pattern dollarEscaper = Pattern.compile("\\$");
    private final Pattern originalClassConstant;
    private final String newClassConstant;
            Class originalClassConstantClass newClassConstant) {
        this(originalClassConstant.getName(), newClassConstant.getName());
    }
            String originalClassConstantString newClassConstant) {
        this. =
                Pattern.compile(asPath(originalClassConstant));
        this. = .matcher(asPath(newClassConstant))
                .replaceAll("\\\\\\$");
    }
    private static String asPath(String className) {
        return className.replace('.''/');
    }
    public void visitConstantUtf8(ConstantUtf8 cnst) {
        cnst.setBytes(.matcher(cnst.getBytes())
                .replaceAll());
    }
New to GrepCode? Check out our FAQ X