Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014-2015 Philip Helger (www.helger.com) philip[at]helger[dot]com 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.helger.webbasics;
 
 import java.util.Map;
 
 
Stand alone implementation of com.helger.html.hc.IHCHasCSSStyles
XXX replace with classes from ph-html > 4.5.1

Author(s):
Philip Helger
Since:
4.5.2
 
 public class HCHasCSSStyles implements IHCHasCSSStyles <HCHasCSSStyles>
 {
   // Must be a LinkedHashMap:
   private Map <ECSSPropertyICSSValuem_aStyles;
 
   @Nonnull
   public final Map <ECSSPropertyICSSValuegetAllStyles ()
   {
     return ContainerHelper.newMap ();
   }
 
   @Nonnull
   public final Collection <ICSSValuegetAllStyleValues ()
   {
     return  == null ? new ArrayList <ICSSValue> () : ContainerHelper.newList (.values ());
   }
 
   @Nullable
   public final ICSSValue getStyleValue (@Nullable final ECSSProperty eProperty)
   {
     return eProperty == null ||  == null ? null : .get (eProperty);
   }
 
   public final boolean containsStyle (@Nullable final ECSSProperty eProperty)
   {
     return  != null && .containsKey (eProperty);
   }
 
   public final boolean hasStyle (@Nullable final ICSSValue aValue)
   {
     if (aValue == null ||  == null)
       return false;
 
     // Contained styles can never have a null value!
     final ECSSProperty eProp = aValue.getProp ();
     return EqualsUtils.equals (.get (eProp), aValue);
   }
 
   public final boolean hasAnyStyle ()
   {
     return  != null && !.isEmpty ();
   }
 
   @Nonnull
   public final HCHasCSSStyles addStyle (@Nonnull final ECSSProperty eProperty,
                                         @Nonnull @Nonempty final String sPropertyValue)
   {
     return addStyle (new CSSPropertyFree (eProperty).newValue (sPropertyValue));
   }
 
   @Nonnull
   public final HCHasCSSStyles addStyle (@Nullable final ICSSValue aValue)
  {
    if (aValue != null)
    {
      if ( == null)
         = new LinkedHashMap <ECSSPropertyICSSValue> ();
      .put (aValue.getProp (), aValue);
    }
    return this;
  }
  @DevelopersNote ("Use addStyle - singular")
  public final HCHasCSSStyles addStyles (@Nullable final ICSSValue aValue)
  {
    return addStyle (aValue);
  }
  public final HCHasCSSStyles addStyles (@Nullable final ICSSValue... aValues)
  {
    if (aValues != null)
      for (final ICSSValue aValue : aValues)
        addStyle (aValue);
    return this;
  }
  public final HCHasCSSStyles addStyles (@Nullable final Iterable <? extends ICSSValueaValues)
  {
    if (aValues != null)
      for (final ICSSValue aValue : aValues)
        addStyle (aValue);
    return this;
  }
  public final HCHasCSSStyles removeStyle (@Nonnull final ECSSProperty eProperty)
  {
    if ( != null)
      .remove (eProperty);
    return this;
  }
  public final HCHasCSSStyles removeAllStyles ()
  {
    .clear ();
    return this;
  }
  public final String getAllStylesAsString (@Nonnull final ICSSWriterSettings aCSSSettings)
  {
    if ( == null || .isEmpty ())
      return null;
    final StringBuilder aSB = new StringBuilder ();
    for (final ICSSValue aValue : .values ())
      aSB.append (aValue.getAsCSSString (aCSSSettings, 0));
    return aSB.toString ();
  }
  public String toString ()
  {
    return new ToStringGenerator (this).appendIfNotEmpty ("Styles").toString ();
  }
New to GrepCode? Check out our FAQ X