/* Copyright (c) 2008 Google Inc. * * 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 com.google.gdata.data.media.mediarss; import com.google.gdata.data.AttributeGenerator; import com.google.gdata.data.ExtensionDescription; import com.google.gdata.data.AttributeHelper; import com.google.gdata.util.ParseException; /** * {@code <media:thumbnail>}. * * See description on * <a href="http://search.yahoo.com/mrss">http://search.yahoo.com/mrss</a>. * * */ @ExtensionDescription.Default( nsAlias = MediaRssNamespace.PREFIX, nsUri = MediaRssNamespace.URI, localName = "thumbnail", isRepeatable = true ) public class MediaThumbnail extends AbstractMediaResource { private NormalPlayTime time; /** Describes the tag to an {@link com.google.gdata.data.ExtensionProfile}. */ public static ExtensionDescription getDefaultDescription() { return ExtensionDescription.getDefaultDescription(MediaThumbnail.class); } public NormalPlayTime getTime() { return time; } public void setTime(NormalPlayTime time) { this.time = time; } @Override protected void putAttributes(AttributeGenerator generate) { super.putAttributes(generate); if (time != null) { generate.put("time", time.getNptHhmmssRepresentation()); } } @Override protected void consumeAttributes(AttributeHelper attrsHelper) throws ParseException { super.consumeAttributes(attrsHelper); time = MediaAttributeHelper.consumeNormalPlayTime(attrsHelper, "time"); } }