blob: 576281e6a635718d44371904fac5c511ac3dc640 [file] [log] [blame]
/************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
*
* Copyright 2008, 2010 Oracle and/or its affiliates. All rights reserved.
*
* Use is subject to license terms.
*
* 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. You can also
* obtain a copy of the License at http://odftoolkit.org/docs/license.txt
*
* 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.odftoolkit.odfdom.dom.style;
import java.util.Map;
import org.odftoolkit.odfdom.dom.style.props.OdfStyleProperty;
import java.util.Set;
/**
*
*/
public interface OdfStylePropertySet
{
/** checks if this styleable element or style has this property directly set.
*
* @param property is the property to check.
* @return true if this property is directly set at this instance or false if not.
*/
public boolean hasProperty( OdfStyleProperty property );
/** returns the given property from this styleable element or style.
* If it is not directly set, the value of this property from a parent style
* will be returned.
*
* @param property is the property which value will be returned.
* @return the value of this property or null if it is not available in this
* set or this parents sets.
*/
public String getProperty( OdfStyleProperty property );
/** removes the given property from this set
*
* @param property is the property to be removed
*/
public void removeProperty( OdfStyleProperty property );
/** sets a single style property for this element.
*
* @param property is the property that you want to set.
* @param value is the value the property is set to.
*/
public void setProperty( OdfStyleProperty property, String value );
/** set more than one property at once.
*
* @param properties is a map of properties with values that should be set.
*/
public void setProperties( Map< OdfStyleProperty, String > properties );
/** gets more than one property at once
*
* @param properties is a set of all properties that should be returned.
* @return a map with all asked properties and theire value, if available.
*/
public Map< OdfStyleProperty, String > getProperties( Set< OdfStyleProperty > properties );
/**
* @return a set with all properties which are specified in the strict odf format.
*/
public Set< OdfStyleProperty > getStrictProperties();
}