001/*
002 *  Copyright 2017 Anyware Services
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License.
015 */
016package org.ametys.odf.enumeration;
017
018import java.util.Locale;
019
020import org.ametys.cms.repository.Content;
021
022/**
023 * This class represents a entry of ODF reference table
024 *
025 */
026public class OdfReferenceTableEntry
027{
028    /** Metadata name for code */
029    public static final String METADATA_CODE = "code";
030    /** Metadata name for CDM value */
031    public static final String METADATA_CDM_VALUE = "cdmValue";
032    
033    private Content _entry;
034    
035    /**
036     * Constructor
037     * @param content The content representing the entry
038     */
039    public OdfReferenceTableEntry (Content content)
040    {
041        _entry = content;
042    }
043    
044    /**
045     * Get the identifier
046     * @return The identifier
047     */
048    public String getId()
049    {
050        return _entry.getId();
051    }
052    
053    /**
054     * Get the label
055     * @param lang The language
056     * @return The label
057     */
058    public String getLabel(String lang)
059    {
060        return _entry.getTitle(new Locale(lang));
061    }
062    
063    /**
064     * Get the code
065     * @return the code
066     */
067    public String getCode()
068    {
069        return _entry.getMetadataHolder().getString(METADATA_CODE, "");
070    }
071    
072    /** 
073     * Get the CDM value
074     * @return the CDM value
075     */
076    public String getCdmValue()
077    {
078        return _entry.getMetadataHolder().getString(METADATA_CDM_VALUE, "");
079    }
080    
081    /**
082     * Get the content
083     * @return the content
084     */
085    public Content getContent()
086    {
087        return _entry;
088    }
089}