📄 gomdateconstructimpl.java
字号:
/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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.apache.lucene.gdata.gom.core;import java.util.Date;import javax.xml.stream.XMLStreamException;import org.apache.lucene.gdata.gom.GOMDateConstruct;import org.apache.lucene.gdata.gom.core.utils.GOMUtils;import org.apache.lucene.gdata.gom.writer.GOMOutputWriter;/** * A Date construct is an element whose content MUST conform to the "date-time" * production in [RFC3339]. In addition, an uppercase "T" character MUST be used * to separate date and time, and an uppercase "Z" character MUST be present in * the absence of a numeric time zone offset. * * @author Simon Willnauer */public abstract class GOMDateConstructImpl extends AbstractGOMElement implements GOMDateConstruct { protected long date; /* * save the rfcString to skip the building while rendering the element */ protected String rfc3339String; /** * @see org.apache.lucene.gdata.gom.GOMDateConstruct#setDate(java.util.Date) */ public void setDate(Date aDate) { if (aDate == null) return; this.date = aDate.getTime(); this.rfc3339String = GOMUtils.buildRfc3339DateFormat(this.date); } /** * @see org.apache.lucene.gdata.gom.GOMDateConstruct#getDate() */ public Date getDate() { return new Date(this.date); } /** * @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processElementValue(java.lang.String) */ @Override public void processElementValue(String aValue) { if (aValue == null) throw new IllegalArgumentException("element value must not be null"); this.date = GOMUtils.parseRfc3339DateFormat(aValue); this.rfc3339String = aValue; } /** * @see org.apache.lucene.gdata.gom.core.AbstractGOMElement#processEndElement() */ @Override public void processEndElement() { if (this.rfc3339String == null) throw new GDataParseException(String.format( MISSING_ELEMENT_VALUE, this.localName, "RFC3339 Date Time")); } /** * @see org.apache.lucene.gdata.gom.GOMElement#writeAtomOutput(org.apache.lucene.gdata.gom.writer.GOMStaxWriter) */ public void writeAtomOutput(GOMOutputWriter aStreamWriter) throws XMLStreamException { if (this.rfc3339String == null) this.rfc3339String = GOMUtils .buildRfc3339DateFormat(this.date == 0 ? System .currentTimeMillis() : this.date); aStreamWriter.writeSimpleXMLElement(this.qname, getXmlNamespaceAttributes(), this.rfc3339String); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -