View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.mail.resolver;
18  
19  import org.apache.commons.mail.DataSourceResolver;
20  
21  /**
22   * Base class for various resolvers.
23   *
24   * @since 1.3
25   * @version $Id: DataSourceBaseResolver.java 1420381 2012-12-11 20:18:05Z tn $
26   */
27  public abstract class DataSourceBaseResolver implements DataSourceResolver
28  {
29      /** shall we ignore resources not found or complain with an exception */
30      private final boolean lenient;
31  
32      /**
33       * Constructor.
34       */
35      public DataSourceBaseResolver()
36      {
37          this.lenient = false;
38      }
39  
40      /**
41       * Constructor.
42       *
43       * @param lenient shall we ignore resources not found or throw an exception?
44       */
45      public DataSourceBaseResolver(final boolean lenient)
46      {
47          this.lenient = lenient;
48      }
49  
50      /**
51       * Shall we ignore resources not found or throw an exception?
52       *
53       * @return the lenient flag
54       */
55      public boolean isLenient()
56      {
57          return lenient;
58      }
59  
60      /**
61       * Is this a content id?
62       *
63       * @param resourceLocation the resource location
64       * @return true if it is a CID
65       */
66      protected boolean isCid(final String resourceLocation)
67      {
68          return resourceLocation.startsWith("cid:");
69      }
70  
71      /**
72       * Is this a file URL?
73       *
74       * @param urlString the URL string
75       * @return true if it is a file URL
76       */
77      protected boolean isFileUrl(final String urlString)
78      {
79          return urlString.startsWith("file:/");
80      }
81  
82      /**
83       * Is this a HTTP/HTTPS URL?
84       *
85       * @param urlString the URL string
86       * @return true if it is a HTTP/HTTPS URL
87       */
88      protected boolean isHttpUrl(final String urlString)
89      {
90          return urlString.startsWith("http://") || urlString.startsWith("https://");
91      }
92  }