001    package org.trails.security;
002    
003    import java.util.Date;
004    
005    import javax.persistence.Entity;
006    import javax.persistence.GeneratedValue;
007    import javax.persistence.GenerationType;
008    import javax.persistence.Id;
009    
010    import org.trails.descriptor.annotation.ClassDescriptor;
011    
012    @Entity
013    @ClassDescriptor(hidden = true)
014    public class ExpiringKey {
015            private String name;
016            private String value;
017            private Date expiresAfter = new Date();
018            private Integer id;
019            
020            ExpiringKey() {}
021            
022            ExpiringKey(String name, String value, Date expiresAfter) {
023                    this();
024                    this.name = name;
025                    this.value = value;
026                    setExpiresAfter(expiresAfter);
027            }
028            
029      /* (non-Javadoc)
030             * @see org.trails.security.ExpiringKey#getId()
031             */
032      @Id @GeneratedValue(strategy = GenerationType.AUTO)
033            public Integer getId() {
034                    return id;
035            }
036    
037            /* (non-Javadoc)
038             * @see org.trails.security.ExpiringKey#setId(java.lang.Integer)
039             */
040            public void setId(Integer id) {
041                    this.id = id;
042            }
043            
044            /* (non-Javadoc)
045             * @see org.trails.security.ExpiringKey#getValue()
046             */
047            public String getValue() {
048                    return value;
049            }
050            /* (non-Javadoc)
051             * @see org.trails.security.ExpiringKey#setValue(java.lang.String)
052             */
053            public void setValue(String token) {
054                    this.value = token;
055            }
056            /* (non-Javadoc)
057             * @see org.trails.security.ExpiringKey#getName()
058             */
059            public String getName() {
060                    return name;
061            }
062            /* (non-Javadoc)
063             * @see org.trails.security.ExpiringKey#setName(java.lang.String)
064             */
065            public void setName(String name) {
066                    this.name = name;
067            }
068            
069            /* (non-Javadoc)
070             * @see org.trails.security.ExpiringKey#getExpiresAfter()
071             */
072            public Date getExpiresAfter() {
073                    return expiresAfter;
074            }
075    
076            /* (non-Javadoc)
077             * @see org.trails.security.ExpiringKey#setExpiresAfter(java.util.Date)
078             */
079            public void setExpiresAfter(Date expiresAfter) {
080                    if (expiresAfter != null) this.expiresAfter = expiresAfter;
081            }
082    }