Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 1&1 Internet AG, http://www.1and1.org
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package net.sf.beezle.sushi.metadata.store;
Helper class to read and write properties. You'll usually not use this class directly, use Type.loadProperties and Data.toProperties instead.
public class Writer {
    public static void write(Type typeObject objString namefinal Store dest) {
        new Writer(dest).write(new ArrayList<Item<?>>(), typeobjname);
    }
    private final Store dest;
    
    public Writer(Store dest) {
        this. = dest;
    }
    public Type write(List<Item<?>> parentsType typeObject objString path) {
        if (obj != null) {
            type = type.getSchema().type(obj.getClass());
        }
        writeThis(parentstypeobjpath);
        if (type instanceof ComplexType) {
            ComplexType complex;
            String childName;
            Collection<?> children;
            int idx;
            complex = (ComplexTypetype;
            for (Item item : complex.items()) {
                children = item.get(obj);
                parents.add(item);
                idx = 0;
                for (Object child : children) {
                    childName = join(pathitem.getName());
                    if (item.getCardinality() == .) {
                        childName = childName + "[" + Integer.toString(idx++) + "]";
                    }
                    write(parentsitem.getType(), childchildName);
                }
                parents.remove(parents.size() - 1);
            }
        }
        return type;
    }
    protected void writeThis(List<Item<?>> parentsType typeObject objString path) {
        String value;
        
        if (type instanceof SimpleType) {
            value = ((SimpleTypetype).valueToString(obj);
        } else if (obj == null) {
            value = type.getType().getName();
        } else {
            value = obj.getClass().getName(); 
        }
        try {
            .write(parentspathvalue);
        } catch (RuntimeException e) {
            throw e;
        } catch (Exception e) {
            throw new StoreException(path + ": write failed: " + e.getMessage(), e);
        }
    }
    private String join(String firstString second) {
        return first.length() == 0 ? second : first + "/" + second;
    }
New to GrepCode? Check out our FAQ X