X-Git-Url: https://git.hedgecode.org/?p=hespiff.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fxml%2Fxspf%2FXSPFTrack.java;fp=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fxml%2Fxspf%2FXSPFTrack.java;h=d84450743d5da3e86cd328f0eb4b2bc7b8175e4d;hp=0000000000000000000000000000000000000000;hb=6310cd885e1db660feb7dc222c2e86cccb5c1fce;hpb=13dba5ab997fc65d1da26de66a49b9a930b81f12 diff --git a/src/main/java/org/hedgecode/xml/xspf/XSPFTrack.java b/src/main/java/org/hedgecode/xml/xspf/XSPFTrack.java new file mode 100644 index 0000000..d844507 --- /dev/null +++ b/src/main/java/org/hedgecode/xml/xspf/XSPFTrack.java @@ -0,0 +1,264 @@ +/* + * Copyright (c) 2015. Developed by Hedgecode. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.hedgecode.xml.xspf; + +import java.util.ArrayList; +import java.util.List; + +/** + * + * + * @author Dmitry Samoshin aka gotty + */ +public final class XSPFTrack implements Track { + + protected XSPFTrack() { + } + + /** + * + */ + private List locations = new ArrayList<>(); + + /** + * + */ + private List identifiers = new ArrayList<>(); + + /** + * + */ + private String title; + + /** + * + */ + private String creator; + + /** + * + */ + private String annotation; + + /** + * + */ + private String info; + + /** + * + */ + private String image; + + /** + * + */ + private String album; + + /** + * + */ + private Integer trackNum; + + /** + * + */ + private Integer duration; + + /** + * + */ + private List links = new ArrayList<>(); + + /** + * + */ + private List metas = new ArrayList<>(); + + /** + * + */ + private List extensions = new ArrayList<>(); + + @Override + public List getLocations() { + return locations; + } + + @Override + public void addLocation(String location) { + locations.add(location); + } + + @Override + public List getIdentifiers() { + return identifiers; + } + + @Override + public void addIdentifier(String identifier) { + identifiers.add(identifier); + } + + @Override + public String getTitle() { + return title; + } + + @Override + public void setTitle(String title) { + this.title = title; + } + + @Override + public String getCreator() { + return creator; + } + + @Override + public void setCreator(String creator) { + this.creator = creator; + } + + @Override + public String getAnnotation() { + return annotation; + } + + @Override + public void setAnnotation(String annotation) { + this.annotation = annotation; + } + + @Override + public String getInfo() { + return info; + } + + @Override + public void setInfo(String info) { + this.info = info; + } + + @Override + public String getImage() { + return image; + } + + @Override + public void setImage(String image) { + this.image = image; + } + + @Override + public String getAlbum() { + return album; + } + + @Override + public void setAlbum(String album) { + this.album = album; + } + + @Override + public Integer getTrackNum() { + return trackNum; + } + + @Override + public void setTrackNum(Integer trackNum) { + this.trackNum = trackNum; + } + + @Override + public Integer getDuration() { + return duration; + } + + @Override + public void setDuration(Integer duration) { + this.duration = duration; + } + + @Override + public List getLinks() { + return links; + } + + @Override + public void addLink(Link link) { + links.add(link); + } + + @Override + public List getMetas() { + return metas; + } + + @Override + public void addMeta(Meta meta) { + metas.add(meta); + } + + @Override + public List getExtensions() { + return extensions; + } + + @Override + public void addExtension(Extension extension) { + extensions.add(extension); + } + + protected void bind(XMLBindTrack bindTrack) { + for (String location : locations) + bindTrack.addLocation(location); + for (String identifier : identifiers) + bindTrack.addIdentifier(identifier); + bindTrack.setTitle(title); + bindTrack.setCreator(creator); + bindTrack.setAnnotation(annotation); + bindTrack.setInfo(info); + bindTrack.setImage(image); + bindTrack.setAlbum(album); + bindTrack.setTrackNum(trackNum); + bindTrack.setDuration(duration); + for (Link link : links) + bindTrack.addLink(link); + for (Meta meta :metas) + bindTrack.addMeta(meta); + for (Extension extension : extensions) + bindTrack.addExtension(extension); + } + + protected void unbind(XMLBindTrack bindTrack) { + locations = bindTrack.getLocations(); + identifiers = bindTrack.getIdentifiers(); + title = bindTrack.getTitle(); + creator = bindTrack.getCreator(); + annotation = bindTrack.getAnnotation(); + info = bindTrack.getInfo(); + image = bindTrack.getImage(); + album = bindTrack.getAlbum(); + trackNum = bindTrack.getTrackNum(); + duration = bindTrack.getDuration(); + links = bindTrack.getLinks(); + metas = bindTrack.getMetas(); + extensions = bindTrack.getExtensions(); + } + +}