Fetches properties for a node.

This event is called a bit later, so plugins have a chance first to
populate the result.

@param PropFind $propFind
@param INode    $node
970561
public function propFindNode(PropFind $propFind, INode $node)
    {
        if ($node instanceof IProperties && $propertyNames = $propFind->get404Properties()) {
            $nodeProperties = $node->getProperties($propertyNames);
            foreach ($nodeProperties as $propertyName => $propertyValue) {
                $propFind->set($propertyName, $propertyValue, 200);
            }
        }
    }
159110
public function set($propName, $propValue)
    {
        $this->validateProp($propName);

        $this->getTsPropObj($propName)->setValue($propValue);

        return $this;
    }
65738
private int find(Vector prop_list,String prop_name) throws DevFailed
	{
		int i;
		int nb_prop = prop_list.size();
		
		for (i = 0;i < nb_prop;i++)
		{
			if (((AttrProperty)(prop_list.elementAt(i))).get_name().equals(prop_name) == true)
				break;
		}
		
		if (i == nb_prop)
		{
			StringBuffer o = new StringBuffer("Property ");
			o.append(prop_name);
			o.append(" not found");
			
			Except.throw_exception("API_AttrWrongDefined",o.toString(),
					       "Attribute.find");
		}
		
		return i;
	}
93912
function prop(node) {
    return complex(node, {
      resourcetype: false,
      supportedCalendarComponentSet: false,
      supportedReportSet: false,
      currentUserPrincipal: false
    });
  }
403644
public Object getProperty( Property propertyId ) {
        return nodeProperties != null ? nodeProperties.get(propertyId) : null;
    }
444241
private void extractProperties(final Node node) {

		for (final String key : node.getPropertyKeys()) {

			final Object value = node.getProperty(key);
			if (value != null) {
				properties.put(key, value.getClass());
			}
		}
	}
339514
public function execute(NodeData $node)
    {
        $currentPropertyValue = $node->getProperty($this->propertyName);
        $newValueWithReplacedCurrentValue = str_replace($this->currentValuePlaceholder, $currentPropertyValue, $this->newValue);
        $newValueWithReplacedSearch = str_replace($this->search, $this->replace, $newValueWithReplacedCurrentValue);
        $node->setProperty($this->propertyName, $newValueWithReplacedSearch);
    }
818629
public void parsePropertyElements(Element beanEle, BeanDefinition bd) {
    NodeList nl = beanEle.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
      Node node = nl.item(i);
      if (node instanceof Element && nodeNameEquals(node, PROPERTY_ELEMENT))
        parsePropertyElement((Element) node, bd);
    }
  }
954401
public function traverseNodesAndFindBy($propName, $propValue, Collection $nodes = null)
    {
        // Nodes are null so nothing to Traverse.
        if (is_null($nodes)) {
            return null;
        }

        foreach ($nodes as $node) {
            if ($node->{$propName} == $propValue) {
                return $node;
            }

            if ($node->hasChildren()) {
                $node = $this->traverseNodesAndFindBy($propName, $propValue, $node->getChildren());

                if (! is_null($node) && $node instanceof self) {
                    return $node;
                }
            }
        }

        // Nothing Found.
        return null;
    }
1171391
private String resolve(final String propName) {
        return ResolverUtil.resolveProperty(propName, null, node, frameworkProject, framework);
    }
1107624
public function loadNodesFromProprefs(array $proprefs) {
    $loadedNodes = [];

    foreach ($proprefs as $propref) {
      $nodes = $this->loadNodesFromPropref($propref) ?: [];

      if (count($nodes) > 0) {
        foreach ($nodes as $node) {
          $loadedNodes[$propref][] = $node;
        }
      }
    }

    return $loadedNodes;
  }
1337487
public function propFind(DAV\PropFind $propFind, DAV\INode $node)
    {
        $propFind->handle('{DAV:}sync-token', function () use ($node) {
            if (!$node instanceof ISyncCollection || !$token = $node->getSyncToken()) {
                return;
            }

            return self::SYNCTOKEN_PREFIX.$token;
        });
    }
804515
protected function getNodePropertyByTagName(\DOMElement $node, $tagName, $propertyName)
    {
        $values = array();
        $results = $node->getElementsByTagName($tagName);
        if ($results->length) {
            foreach ($results as $result) {
                if ($result->getAttribute($propertyName)) {
                    $values[] = $result->getAttribute($propertyName);
                }
            }
        }

        return $values;
    }
969213
@SuppressWarnings("unchecked")
    public static <T> T getPropValue(final Object entity, final Method propGetMethod) {
        try {
            return (T) propGetMethod.invoke(entity);
        } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
            throw N.toRuntimeException(e);
        }
    }
1175040
@Procedure(mode = Mode.WRITE)
    @Description("apoc.index.addNode(node,['prop1',...]) add node to an index for each label it has")
    public void addNode(@Name("node") Node node, @Name("properties") List<String> propKeys) {
        for (Label label : node.getLabels()) {
            addNodeByLabel(label.name(),node,propKeys);
        }
    }
139907
public function propFindEarly(DAV\PropFind $propFind, DAV\INode $node)
    {
        if ($node instanceof ISharedCalendar) {
            $propFind->handle('{'.Plugin::NS_CALENDARSERVER.'}invite', function () use ($node) {
                return new Xml\Property\Invite(
                    $node->getInvites()
                );
            });
        }
    }
232888
private function getTags(NodeInterface $node, $locale)
    {
        return $node->getPropertyValueWithDefault(
            sprintf(self::TAGS_PROPERTY, $locale),
            []
        );
    }