Android Open Source - sres Path Transformer






From Project

Back to project page sres.

License

The source code is released under:

Apache License

If you think the Android project sres listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package me.tatarka.sres.util;
/*from  w ww  .jav a 2  s.  c  om*/
import com.google.common.base.CaseFormat;
import org.apache.commons.io.FilenameUtils;

import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
 * Created by evan on 3/1/14.
 */
public class PathTransformer {
    private Path path;

    public PathTransformer(Path path) {
        this.path = path;
    }

    public static PathTransformer of(Path path) {
        return new PathTransformer(path);
    }

    public static PathTransformer of(File file) {
        return new PathTransformer(file.toPath());
    }

    public static PathTransformer of(String fileName) {
        return new PathTransformer(new File(fileName).toPath());
    }

    public PathTransformer mirror(Path inputDir, Path outputDir) {
        return PathTransformer.of(outputDir.resolve(inputDir.relativize(path)));
    }

    public PathTransformer mirror(File inputDir, File outputDir) {
        return mirror(inputDir.toPath(), outputDir.toPath());
    }

    public PathTransformer mirror(String inputDir, String outputDir) {
        return mirror(new File(inputDir), new File(outputDir));
    }

    public PathTransformer extension(String extension) {
        String name = path.getFileName().toString();
        int extensionIndex = FilenameUtils.indexOfExtension(name);
        String newName = name.substring(0, extensionIndex < 0 ? name.length() : extensionIndex) +
                (extension.length() > 0 ? "." : "") + extension;
        return PathTransformer.of(path.getParent() == null ? Paths.get(newName) : path.getParent().resolve(newName));
    }

    public PathTransformer changeNameCase(CaseFormat fromFormat, CaseFormat toFormat) {
        String name = path.getFileName().toString();
        String extension = FilenameUtils.getExtension(name);
        int extensionIndex = FilenameUtils.indexOfExtension(name);
        String bareName = extensionIndex < 0 ? name : name.substring(0, extensionIndex);
        String newName = fromFormat.to(toFormat, bareName) + "." + extension;
        return PathTransformer.of(path.getParent() == null ? Paths.get(newName) : path.getParent().resolve(newName));
    }

    public Path toPath() {
        return path;
    }

    @Override
    public String toString() {
        return path.toString();
    }
}




Java Source Code List

me.tatarka.sres.AbstractTrackable.java
me.tatarka.sres.Bindable.java
me.tatarka.sres.ChangeTracker.java
me.tatarka.sres.FileFilter.java
me.tatarka.sres.LayoutGenerator.java
me.tatarka.sres.LayoutParser.java
me.tatarka.sres.LayoutSelectorHelper.java
me.tatarka.sres.LayoutSelector.java
me.tatarka.sres.ListView.java
me.tatarka.sres.Main.java
me.tatarka.sres.ObservableAdapter.java
me.tatarka.sres.ObservableArrayList.java
me.tatarka.sres.ObservableListViewHelper.java
me.tatarka.sres.ObservableList.java
me.tatarka.sres.ObservablePagerAdapter.java
me.tatarka.sres.SResBaseVisitor.java
me.tatarka.sres.SResLexer.java
me.tatarka.sres.SResOutput.java
me.tatarka.sres.SResParser.java
me.tatarka.sres.SResVisitor.java
me.tatarka.sres.SRes.java
me.tatarka.sres.SourceInfo.java
me.tatarka.sres.ThreadHandlerImpl.java
me.tatarka.sres.ThreadHandlerProvider.java
me.tatarka.sres.ThreadHandler.java
me.tatarka.sres.Trackable.java
me.tatarka.sres.ViewPager.java
me.tatarka.sres.ast.Attribute.java
me.tatarka.sres.ast.Binding.java
me.tatarka.sres.ast.Child.java
me.tatarka.sres.ast.Converter.java
me.tatarka.sres.ast.Include.java
me.tatarka.sres.ast.RootView.java
me.tatarka.sres.ast.View.java
me.tatarka.sres.idea.SResFileTypeFactory.java
me.tatarka.sres.idea.SResFileType.java
me.tatarka.sres.idea.SResFile.java
me.tatarka.sres.idea.SResIcons.java
me.tatarka.sres.idea.SResLanguage.java
me.tatarka.sres.idea.SResLexer.java
me.tatarka.sres.idea.SResParserDefinition.java
me.tatarka.sres.idea._SResLexer.java
me.tatarka.sres.idea.psi.SResElementType.java
me.tatarka.sres.idea.psi.SResTokenType.java
me.tatarka.sres.impl.SResCodeLayoutGenerator.java
me.tatarka.sres.impl.SResLayoutParser.java
me.tatarka.sres.impl.SResVisitor.java
me.tatarka.sres.impl.SResXmlLayoutGenerator.java
me.tatarka.sres.impl.WriterCodeWriter.java
me.tatarka.sres.property.BooleanProperty.java
me.tatarka.sres.property.ByteProperty.java
me.tatarka.sres.property.CharProperty.java
me.tatarka.sres.property.DoubleProperty.java
me.tatarka.sres.property.FloatProperty.java
me.tatarka.sres.property.IntProperty.java
me.tatarka.sres.property.LongProperty.java
me.tatarka.sres.property.Property.java
me.tatarka.sres.property.ShortProperty.java
me.tatarka.sres.sample.MainActivity.java
me.tatarka.sres.sample.MyListItemView.java
me.tatarka.sres.sample.MyListItem.java
me.tatarka.sres.sample.MyMainView.java
me.tatarka.sres.sample.MyModel.java
me.tatarka.sres.sample.MyView.java
me.tatarka.sres.util.PathTransformer.java