All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.redhat.lightblue.mongo.crud.js.Name Maven / Gradle / Ivy

/*
 Copyright 2013 Red Hat, Inc. and/or its affiliates.

 This file is part of lightblue.

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see .
 */
package com.redhat.lightblue.mongo.crud.js;

import java.util.ArrayList;

import com.redhat.lightblue.util.Path;

public class Name {

    public static class Part {
        boolean index;
        String name;
        
        public Part(String name,boolean index) {
            this.name=name;
            this.index=index;
        }        
    }
    
    
    ArrayList parts=new ArrayList<>();
    
    public Name() {}
    
    public Name(Name n) {
        parts.addAll(n.parts);
    }
    
    public Name(Path p) {
        int n=p.numSegments();
        for(int i=0;i0) {
                    bld.append('.');
                }
                bld.append(p.name);
            }
            i++;
            if(i>=n)
                break;
        }
        return bld.toString();
    }
    
    public Part getPart(int i) {
        return parts.get(i);
    }
    
    public Name removeLast() {
        parts.remove(parts.size()-1);
        return this;
    }

    public void clear() {
        parts.clear();
    }
    
    @Override
    public String toString() {
        return getPrefix(parts.size());
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy