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, ',');
}
};
}