/java/src/com/google/gdata/data/media/mediarss/MediaContent.java
http://gdata-java-client.googlecode.com/ · Java · 207 lines · 145 code · 33 blank · 29 comment · 7 complexity · a9a2937363708a308d4c4c9c92c2af3d MD5 · raw file
- /* 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.AttributeHelper;
- import com.google.gdata.data.ExtensionDescription;
- import com.google.gdata.util.ParseException;
- /**
- * {@code <media:content>}.
- *
- * 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 = "content"
- )
- public class MediaContent extends AbstractMediaResource {
- private long fileSize;
- private String type;
- private String medium;
- private boolean isDefault;
- private Expression expression;
- private int bitrate;
- private int framerate;
- private int samplingrate;
- private int channels;
- private int duration;
- private String language;
- /**
- * Describes the tag to an {@link com.google.gdata.data.ExtensionProfile}.
- *
- * @param repeat if true, the description will be repeatable (MediaContent
- * can be repeated when inside MediaGroup, but not when inside BaseEntry.)
- */
- public static ExtensionDescription getDefaultDescription(boolean repeat) {
- ExtensionDescription retval =
- ExtensionDescription.getDefaultDescription(MediaContent.class);
- retval.setRepeatable(repeat);
- return retval;
- }
- public int getBitrate() {
- return bitrate;
- }
- public void setBitrate(int bitrate) {
- this.bitrate = bitrate;
- }
- public int getChannels() {
- return channels;
- }
- public void setChannels(int channels) {
- this.channels = channels;
- }
- public int getDuration() {
- return duration;
- }
- public void setDuration(int duration) {
- this.duration = duration;
- }
- public String getLanguage() {
- return language;
- }
- public void setLanguage(String language) {
- this.language = language;
- }
- public Expression getExpression() {
- return expression;
- }
- public void setExpression(Expression expression) {
- this.expression = expression;
- }
- public long getFileSize() {
- return fileSize;
- }
- public void setFileSize(long fileSize) {
- this.fileSize = fileSize;
- }
- public int getFramerate() {
- return framerate;
- }
- public void setFramerate(int framerate) {
- this.framerate = framerate;
- }
- public boolean isDefault() {
- return isDefault;
- }
- public void setDefault(boolean aDefault) {
- isDefault = aDefault;
- }
- public String getMedium() {
- return medium;
- }
- public void setMedium(String medium) {
- this.medium = medium;
- }
- public int getSamplingrate() {
- return samplingrate;
- }
- public void setSamplingrate(int samplingrate) {
- this.samplingrate = samplingrate;
- }
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
- @Override
- protected void putAttributes(AttributeGenerator generator) {
- super.putAttributes(generator);
- if (fileSize > 0) {
- generator.put("fileSize", fileSize);
- }
- generator.put("type", type);
- generator.put("medium", medium);
- if (isDefault) {
- generator.put("isDefault", isDefault);
- }
- generator.put("expression", expression,
- new AttributeHelper.LowerCaseEnumToAttributeValue<Expression>());
- if (bitrate > 0) {
- generator.put("bitrate", bitrate);
- }
- if (framerate > 0) {
- generator.put("framerate", framerate);
- }
- if (samplingrate > 0) {
- generator.put("samplingrate", samplingrate);
- }
- if (channels > 0) {
- generator.put("channels", channels);
- }
- if (duration > 0) {
- generator.put("duration", duration);
- }
- generator.put("language", language);
- }
- @Override
- protected void consumeAttributes(AttributeHelper attrsHelper)
- throws ParseException {
- super.consumeAttributes(attrsHelper);
- fileSize = attrsHelper.consumeLong("fileSize", false);
- type = attrsHelper.consume("type", false);
- medium = attrsHelper.consume("medium", false);
- isDefault = attrsHelper.consumeBoolean("isDefault", false);
- expression =
- attrsHelper.consumeEnum("expression", false, Expression.class);
- bitrate = attrsHelper.consumeInteger("bitrate", false);
- framerate = attrsHelper.consumeInteger("framerate", false);
- samplingrate = attrsHelper.consumeInteger("samplingrate", false);
- channels = attrsHelper.consumeInteger("channels", false);
- duration = attrsHelper.consumeInteger("duration", false);
- language = attrsHelper.consume("language", false);
- }
- /** Values for the expression attribute: sample, full and nonstop. */
- public enum Expression {
- SAMPLE, FULL, NONSTOP
- }
- }