public JcrProperty getProperty()

in eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/model/JcrNode.java [1447:1512]


    public JcrProperty getProperty(final String name) {
        if (properties==null) {
            return null;
        }
        return new JcrProperty() {

            @Override
            public String getName() {
                return name;
            }

            
            @Override
            public int getType() {
                return getPropertyType(name);
            }
            
            @Override
            public String getTypeAsString() {
                int t = getPropertyType(name);
                return PropertyType.nameFromValue(t);
            };

//            @Override
//            public Object getValue() {
//                throw new IllegalStateException("not yet implemented");
//            }
            
            @Override
            public String getValueAsString() {
                String rawValue = getProperties().getValue(name);
                if (rawValue==null) {
                    return null;
                }
                if (rawValue.startsWith("{")) {
                    int curlyEnd = rawValue.indexOf("}", 1);
                    rawValue = rawValue.substring(curlyEnd+1);
                }
                return rawValue;
            }

            @Override
            public boolean isMultiple() {
                String rawValue = getProperties().getValue(name);
                if (rawValue==null) {
                    return false;
                }
                if (rawValue.startsWith("{")) {
                    int curlyEnd = rawValue.indexOf("}", 1);
                    rawValue = rawValue.substring(curlyEnd+1);
                }
                return rawValue.startsWith("[") && rawValue.endsWith("]");
            }
            
            @Override
            public String[] getValuesAsString() {
                String rawValue = getProperties().getValue(name);
                if (rawValue.startsWith("{")) {
                    int curlyEnd = rawValue.indexOf("}", 1);
                    rawValue = rawValue.substring(curlyEnd+1);
                }
                rawValue = rawValue.substring(1, rawValue.length()-1);
                return org.apache.jackrabbit.util.Text.explode(rawValue, ',');
            }
        };
    }