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.simpletypes;
public class EnumType extends SimpleType {
    public static EnumType create(Schema schemaClass<? extends Enumclazz) {
        return new EnumType(schemaclazz, Schema.typeName(clazz), Reflect.getValues(clazz));
    }
    private final Enum[] values;
    
    public EnumType(Schema schemaClass<?> clazzString nameEnum[] values) {
        super(schemaclazzname);
        this. = values;
    }
    
    @Override
    public Object newInstance() {
        return [0];
    }
    @Override
    public String valueToString(Object obj) {
        return normalizeEnum(obj.toString());
    }
    
    @Override
    public Object stringToValue(String strthrows SimpleTypeException {
        StringBuilder msg;
        String name;
        
        str = normalizeEnum(str);
        msg = new StringBuilder();
        for (Enum e : ) {
            name = normalizeEnum(e.name());
            if (name.equals(str)) {
                return e;
            }
            msg.append(" '");
            msg.append(name);
            msg.append('\'');
        }
        throw new SimpleTypeException("unknown value '" + str + "', expected one of" + msg);
    }
    @Override
    public String getSchemaTypeName() {
        return getName();
    }
    @Override
    public void addSchemaType(Set<TypedoneStringBuilder dest) {
        if (done.contains(this)) {
            return;
        }
        done.add(this);
        dest.append("  <xs:simpleType name='").append(getName()).append("'>\n");
        dest.append("    <xs:restriction base='xs:string' >\n");
        for (Enum e : ) {
            dest.append("    <xs:enumeration value='").append(Serializer.escapeEntities(normalizeEnum(e.toString()), true)).append("'/>\n");
        }
        dest.append("    </xs:restriction>\n");
        dest.append("  </xs:simpleType>\n");
    }
    private static String normalizeEnum(String value) {
        value = value.toLowerCase();
        return value.replace('_''-');
    }
New to GrepCode? Check out our FAQ X