Добавление артефактов в ресурс

Для добавления или замены артефактов ресурса в первую очередь необходимо получить корень артефактов методом RAMAsset.getArtifactsRoot(). Этот метод возвращает объект RAMFolderArtifact, представляющий контейнер верхнего уровня для всех артефактов ресурса. Артефакты RAMFolderArtifact, LocalFileArtifact, LocalFolderArtifact, LocalArchiveFolderArtifact и RAMURLArtifact можно добавлять в корень артефактов (и в любой другой артефакт RAMFolder) методом RAMFolderArtifact.addArtifact(Artifact) или RAMFolderArtifact.addArtifact(String path, Artifact).

                // Получение корня артефактов нового ресурса
                RAMFolderArtifact root = (RAMFolderArtifact)newAsset.getArtifactsRoot();
                
                // Создание артефакта из файла
                File file = new File("D:\\mydocs\\readme.txt");
                LocalFileArtifact fileArtifact = new LocalFileArtifact(file);
                fileArtifact.setName("readme.txt");
                root.addArtifact(fileArtifact);

                // Создание артефакта папки для добавления всех файлов папки
                File folder = new File("D:\\mydocs\\lib");
                LocalFolderArtifact folderArtifact = new LocalFolderArtifact(folder);
                root.addArtifact(folderArtifact);

                // Создание артефактов URL
                RAMURLArtifact ibmLink = new RAMURLArtifact("http://www.example.com");
                ibmLink.setName("IBM");
                root.addArtifact("links", ibmLink);
 
                session.put(newAsset, new NullProgressMonitor());

Комментарии