/**
* Koya is an alfresco module that provides a corporate orientated dataroom.
*
* Copyright (C) Itl Developpement 2014
*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option) any
* later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see `<http://www.gnu.org/licenses/>`.
*/
package fr.itldev.koya.model.impl;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;
import fr.itldev.koya.model.KoyaNode;
import fr.itldev.koya.model.interfaces.KoyaContent;
public final class Directory extends KoyaNode implements KoyaContent{
@JsonProperty("childdir")
private List<Directory> childDir = new ArrayList<>();
@JsonProperty("childdoc")
private List<Document> childDoc = new ArrayList<>();
@JsonIgnore
public List<KoyaContent> getChildren() {
List<KoyaContent> content = new ArrayList<>();
content.addAll(childDir);
content.addAll(childDoc);
return content;
}
public void setChildren(List<KoyaNode> children) {
for (KoyaNode c : children) {
if (Directory.class.isAssignableFrom(c.getClass())) {
childDir.add((Directory) c);
} else if (Document.class.isAssignableFrom(c.getClass())) {
childDoc.add((Document) c);
}
}
}
// <editor-fold defaultstate="collapsed" desc="Getters/Setters">
public List<Directory> getChildDir() {
return childDir;
}
public void setChildDir(List<Directory> childDir) {
this.childDir = childDir;
}
public List<Document> getChildDoc() {
return childDoc;
}
public void setChildDoc(List<Document> childDoc) {
this.childDoc = childDoc;
}
// </editor-fold>
private Directory() {
}
public static Directory newInstance() {
return new Directory();
}
public static Directory newInstance(String title) {
Directory d = new Directory();
d.setTitle(title);
return d;
}
}