| /* |
| * Copyright 2004 Sun Microsystems, 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.sun.syndication.feed.module; |
| |
| import com.sun.syndication.feed.CopyFrom; |
| import com.sun.syndication.feed.impl.CopyFromHelper; |
| |
| import java.util.*; |
| |
| /** |
| * Syndication ModuleImpl, default implementation. |
| * <p> |
| * @see <a href="http://web.resource.org/rss/1.0/modules/syndication/">Syndication module</a>. |
| * @author Alejandro Abdelnur |
| * |
| */ |
| public class SyModuleImpl extends ModuleImpl implements SyModule { |
| private static final Set<String> PERIODS = new HashSet<>(); |
| |
| static { |
| PERIODS.add(HOURLY ); |
| PERIODS.add(DAILY ); |
| PERIODS.add(WEEKLY ); |
| PERIODS.add(MONTHLY); |
| PERIODS.add(YEARLY ); |
| } |
| |
| |
| private String _updatePeriod; |
| private int _updateFrequency; |
| private Date _updateBase; |
| |
| /** |
| * Default constructor. All properties are set to <b>null</b>. |
| * <p> |
| * |
| */ |
| public SyModuleImpl() { |
| super(SyModule.class,URI); |
| } |
| |
| /** |
| * Returns the Syndication module update period. |
| * <p> |
| * @return the Syndication module update period, <b>null</b> if none. |
| * |
| */ |
| public String getUpdatePeriod() { |
| return _updatePeriod; |
| } |
| |
| /** |
| * Sets the Syndication module update period. |
| * <p> |
| * @param updatePeriod the Syndication module update period to set, <b>null</b> if none. |
| * |
| */ |
| public void setUpdatePeriod(String updatePeriod) { |
| if (!PERIODS.contains(updatePeriod)) { |
| throw new IllegalArgumentException("Invalid period ["+updatePeriod+"]"); |
| } |
| _updatePeriod = updatePeriod; |
| } |
| |
| /** |
| * Returns the Syndication module update frequency. |
| * <p> |
| * @return the Syndication module update frequency, <b>null</b> if none. |
| * |
| */ |
| public int getUpdateFrequency() { |
| return _updateFrequency; |
| } |
| |
| /** |
| * Sets the Syndication module update frequency. |
| * <p> |
| * @param updateFrequency the Syndication module update frequency to set, <b>null</b> if none. |
| * |
| */ |
| public void setUpdateFrequency(int updateFrequency) { |
| _updateFrequency = updateFrequency; |
| } |
| |
| /** |
| * Returns the Syndication module update base date. |
| * <p> |
| * @return the Syndication module update base date, <b>null</b> if none. |
| * |
| */ |
| public Date getUpdateBase() { |
| if (_updateBase != null) { |
| return new Date(_updateBase.getTime()); |
| } else return null; |
| } |
| |
| /** |
| * Sets the Syndication module update base date. |
| * <p> |
| * @param updateBase the Syndication module update base date to set, <b>null</b> if none. |
| * |
| */ |
| public void setUpdateBase(Date updateBase) { |
| if (updateBase != null) { |
| _updateBase = new Date(updateBase.getTime()); |
| } else _updateBase = null; |
| } |
| |
| public Class<? extends Module> getInterface() { |
| return SyModule.class; |
| } |
| |
| public void copyFrom(CopyFrom obj) { |
| COPY_FROM_HELPER.copy(this,obj); |
| } |
| |
| private static final CopyFromHelper COPY_FROM_HELPER; |
| |
| static { |
| Map basePropInterfaceMap = new HashMap(); |
| basePropInterfaceMap.put("updatePeriod",String.class); |
| basePropInterfaceMap.put("updateFrequency",Integer.TYPE); |
| basePropInterfaceMap.put("updateBase",Date.class); |
| |
| Map basePropClassImplMap = Collections.EMPTY_MAP; |
| |
| COPY_FROM_HELPER = new CopyFromHelper(SyModule.class,basePropInterfaceMap,basePropClassImplMap); |
| } |
| |
| } |