private PropertyState processBinary(PropertyState property) { Type<?> type = property.getType(); if (type == BINARY) { processBinary(property.getValue(Type.BINARY), property.getName()); } else if (type == BINARIES) { for (Blob blob : property.getValue(BINARIES)) { processBinary(blob, property.getName()); } } return property; }
public static String toString(PropertyState property) { String name = property.getName(); Type<?> type = property.getType(); if (type == Type.BINARIES) { return name + " = [" + property.count() + " binaries]"; } else if (type == Type.BINARY) { return name + " = {" + getBinarySize(property) + " bytes}"; } else { return name + " = " + property.getValue(type); } }
@Override public boolean propertyChanged( PropertyState before, PropertyState after) { return isHidden(after.getName()); } @Override
@Override public void propertyChanged(PropertyState before, PropertyState after) throws CommitFailedException { String name = after.getName(); if (JcrConstants.JCR_PRIMARYTYPE.equals(name)) { if (NT_REP_CUG_POLICY.equals(before.getValue(Type.STRING)) || NT_REP_CUG_POLICY.equals(after.getValue(Type.STRING))) { throw accessViolation(20, "Attempt to change primary type of/to CUG policy."); } } }
@Test public void getProperty() { Tree tree = root.getTree("/"); PropertyState propertyState = tree.getProperty("any"); assertNull(propertyState); propertyState = tree.getProperty("a"); assertNotNull(propertyState); assertFalse(propertyState.isArray()); assertEquals(LONG, propertyState.getType()); assertEquals(1, (long) propertyState.getValue(LONG)); }
@Test public void testCreateMvRestriction2() throws Exception { Restriction r = restrictionProvider.createRestriction(testPath, REP_NT_NAMES, nameValues); assertNotNull(r); assertEquals(REP_NT_NAMES, r.getDefinition().getName()); assertEquals(Type.NAMES, r.getDefinition().getRequiredType()); PropertyState ps = r.getProperty(); assertTrue(ps.isArray()); assertEquals(Type.NAMES, ps.getType()); List<Value> vs = valueFactory.createValues(ps); assertArrayEquals(nameValues, vs.toArray(new Value[0])); }
@Test public void testAsPropertyStateSingleList() throws Exception { PropInfo propInfo = new PropInfo("strings", PropertyType.STRING, ImmutableList.of(mockTextValue("a", PropertyType.STRING)), PropInfo.MultipleStatus.MULTIPLE); PropertyState ps = propInfo.asPropertyState(mockPropDef(PropertyType.STRING, true)); assertTrue(ps.isArray()); assertEquals(1, ps.count()); }
@NotNull @Override public Boolean perform() throws RepositoryException { return property.getPropertyState().isArray(); } });
@NotNull @Override public Iterable<String> getNames(@NotNull String name) { PropertyState property = getProperty(name); if (isType(property, NAMES)) { return property.getValue(NAMES); } else { return emptyList(); } }
private boolean isReferenceType(PropertyState property) { Type<?> type = property.getType(); return (type == Type.REFERENCE || type == Type.REFERENCES || type == Type.WEAKREFERENCE || type == Type.WEAKREFERENCES); }
@Override public int count() { return delegate.count(); } }
public static String toString(PropertyState property) { String name = property.getName(); Type<?> type = property.getType(); if (type == Type.BINARIES) { return name + " = [" + property.count() + " binaries]"; } else if (type == Type.BINARY) { return name + " = {" + getBinarySize(property) + " bytes}"; } else { return name + " = " + property.getValue(type); } }
@Override public boolean propertyAdded(PropertyState after) { return properties.containsKey(after.getName()) || diff.propertyAdded(after); } @Override