Os recursos podem ter propriedades que armazenem informações sobre estado definidas pela ferramenta. As propriedades de recurso são declaradas, acessadas e mantidas por vários plug-ins e não são interpretadas pela plataforma. Quando um recurso é excluído da área de trabalho, suas propriedades também são excluídas.
Há dois tipos de propriedades de recurso:
Propriedades de sessão permite que os plug-ins coloquem as informações em cache em pares de chave-valor. Os valores são objetos arbitrários. Essas propriedades são mantidas na memória e perdidas quando um recurso é excluído da área de trabalho ou quando o projeto ou a área de trabalho são fechados.
Propriedades persistentes são utilizadas para armazenar no disco informações específicas do recurso. O valor de uma propriedade persistente é uma cadeia arbitrária. O plug-in decide como interpretar a cadeia. As cadeias costumam ser pequenas (menos de 2 KB). As propriedades são armazenadas no disco com os meta-dados da plataforma e mantidas durante o encerramento e a sua reinicialização.
Nota: se você tem propriedades persistentes grandes, deve expô-las como recursos nos próprios direitos delas, em vez de utilizar a API de propriedades persistentes.
Nota: se você seguir a convenção de qualificação de nomes de chave da propriedade com o id exclusivo do plug-in, não terá que se preocupar com conflitos de nomes entre a propriedade e os outros plug-ins.
IResource fornece o protocolo (getSessionProperty, setSessionProperty, getPersistentProperty, setPersistentProperty) para utilização nas propriedades.