Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weblogic.security.service
Class URLResource

    java.lang.Object
      weblogic.security.service.ResourceBase
          weblogic.security.service.URLResource

All Implemented Interfaces:
  Serializable, Resource, SelfDescribingResource, SelfDescribingResourceV2

    public final class URLResource

extends ResourceBase

The `URLResource` class is used by a container to specify the URL resource (and method related to the resource) that a caller is attempting to access.

Case sensitivity of the contextPath and URI is determined by the WebAppFilesCaseInsensitive attribute on the `SecurityConfigurationMBean`. The default value is to handle the contextPath and URI as case sensitive on all platforms. The `weblogic.security.URLResourceCaseMapping` property can no longer be used to change behavior on the server command line.

The `toString` format (which is produced by the `ResourceBase` class) for a URL resource is:
`type=<url>, application=myApp, contextPath=/mywebapp, uri=/foo/bar/my.jsp, httpMethod=GET`

See Also:
  Serialized Form

Field Summary

Fields inherited from class weblogic.security.service.ResourceBase
`id, length, NO_PARENT, parent, resStr, SCOPE_RESOURCE_ACTION, values`

Fields inherited from interface weblogic.security.spi.SelfDescribingResource
`LIST_FIELD_TYPE, NORMAL_FIELD_TYPE, PATH_FIELD_TYPE, UNDEFINED_FIELD_TYPE`

Constructor Summary
`URLResource(String application, String contextPathArg, String uriArg, String httpMethod, String transportType)` Constructs a new `URLResource` with a target name composed from the `application`, `contextPath`, `URI`, `httpMethod`, and `transportType` parameters.

Method Summary
`boolean` | `equals(Object obj)` Compares this resource to the resource in the specified object.
`String` | `getApplicationName()` Gets the name of the application associated with the `URLResource`.
`String` | `getContextPath()` Gets the `URI` of the Web component.
`int` | `getFieldType(String fieldName)` Describe `getFieldType` method here.
`String` | `getHttpMethod()` Gets the HTTP method of the URL resource.
`String[]` | `getKeys()` Gets keys for the `URLresource`.
`int` | `getRepeatingFieldIndex()` `getRepeatingFieldIndex` returns an index into the array returned by `getKeys()` that signifies what part of the Resource's fields repeat as the hierarchy is traversed.
`int` | `getRepeatingFieldTerminatingIndex()` The field returned by `getRepeatingFieldIndex` is repeated as the Resource is shortened up to and including this field index.
`String` | `getTransportType()` Gets the transport guarantee required to access the `URLResource`.
`String` | `getType()` Gets the type of this resource (`URLResource`).
`String` | `getURI()` Gets the `URI` of the Web component.
`protected void` | `init(String[] values, int len, long seed, String httpMethod, String suffix, boolean URIUnchanged)` Initializes the `URLResource` with the array of values.
`protected Resource` | `makeParent()` Gets a `Resource` object that represents the parent of the current `URLResource`.
`boolean` | `mappingToLowerCase()` Returns true if we are mapping the contextPath and URI to lower case upon creation.

Methods inherited from class weblogic.security.service.ResourceBase
`appendArrayValue, appendValue, getID, getParentResource, getValues, hashCode, init, init, isTransitiveField, reset, toString, writeResourceString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### URLResource

    public URLResource(String application,
                       String contextPathArg,
                       String uriArg,
                       String httpMethod,
                       String transportType)

  Constructs a new `URLResource` with a target name composed from the `application`, `contextPath`, `URI`, `httpMethod`, and `transportType` parameters.

  For example, if the `web.xml` deployment descriptor in `mywebapp.war` (which is inside `myApp.ear`) contains the following elements:

  `<web-app>
  <security-constraint>
  <web-resource-collection>
  <web-resource-name>MyResource</web-resource-name>
  <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
  <role-name>MyRole</role-name>
  </auth-constraint>
  </security-constraint>
  ...
  </web-app>`

  If the URL to access the resource is `http://MyServer:MyPort/mywebapp/foo/bar/my.jsp?x=y`, then the context path is `"/mywebapp"`, the servlet path is `"/foo/bar/my.jsp"`, and the path info is "" (null).

  Finally, the `URLResource` is represented as `type=<url>, application=myApp, contextPath=/mywebapp, uri=/foo/bar/my.jsp, httpMethod=GET`.

  This method will map the contextPath and URI to lower case if mappingToLowerCase() returns true.

  Parameters:
    `application` - the name of the application in which the resource is deployed, as it appears in the corresponding `<display-name>` element. The `<display-name>` element is associated with an `<application>` element in the deployment descriptor, in an `.ear` file.

    `contextPath` - the context path for the Web application.

    `uri` - the URI of the resource. This is the servlet path and the path info as specified in the Servlet 2.3 spec. This can be thought of as the URI, relative to the context path.

    `httpMethod` - the name of the HTTP method on the URL resource, as it appears in the corresponding `<http-method>` element in the deployment descriptor. A value of `null` indicates that the security policy for the resource pertains to all methods that match the other parameters of the resource specification, without consideration for the method name.

    `transportType` - the transport guarantee required to access the URL resource, as it appears in the corresponding `<transport-guarantee>` element in the deployment descriptor. A value of `null` indicates that the associated method of the URL resource can be accessed over any transport. If `httpMethod` is `null` then parameter must also be `null.` Valid values for this parameter are restricted to the following:
    - `INTEGRAL`
    - `CONFIDENTIAL`

Method Detail

### init

    protected void init(String[] values,
                        int len,
                        long seed,
                        String httpMethod,
                        String suffix,
                        boolean URIUnchanged)

  Initializes the `URLResource` with the array of values. Computes a resource ID as a hash function of the resource type and each of its non-null values, then stores the suffix for later use.

  This method will not map the contextPath and URI to lower case. The caller must check the value of mappingToLowerCase() and map them if necessary.

  Parameters:
    `values` - the values with which to initialize the `URLResource`. The values must be in the same order as the `toString` prints them.

    `len` - the number of values to use. This can be less than the length of values, in which case the values greater than `len` will be ignored.

    `seed` - the random number to use in `getID` calculation.

    `httpMethod` - the HTTP method (for example, `"GET"`), or `null` if not applicable.

    `suffix` - the suffix of the file (for example, `".jsp"`) or `null` if not applicable.

    `URIUnchanged` - true if we have not changed the URI from how it was passed to us from the container. This is needed to special-case getParentResource().

### getType

    public String getType()

  Gets the type of this resource (`URLResource`).

  Returns:
    the type of this resource, represented as a String.

### makeParent

    protected Resource makeParent()

  Gets a `Resource` object that represents the parent of the current `URLResource`. If the resource does not have a parent, the value of `null` must be returned.

  The parentage hierarchy for the `URLResource` (that is, the values returned from successive calls to this method) is:

  `type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp, httpMethod=GET, transportType=confidential
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp, httpMethod=GET
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp/*, httpMethod=GET
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/bar/my.jsp/*
  type=<url>, application=myApp, contextPath=/MyWebApp, uri=/foo/Bar/*, httpMethod=GET type=<url>, application=myApp, contextPath=/MyWebApp, uri=/foo/Bar/* type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/*
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/foo/*
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/*
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/*
  type=<url>, application=myApp, contextPath="/mywebapp", uri=*.jsp
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=*.jsp
  type=<url>, application=myApp, contextPath="/mywebapp", uri=/
  , httpMethod=GET type=<url>, application=myApp, contextPath="/mywebapp", uri=/
  type=<url>, application=myApp, contextPath="/mywebapp"
  type=<url>, application=myApp
  type=<app>, application=myApp
  type=<url>`

  Overrides:
    `makeParent` in class `ResourceBase`
  Returns:
    the `Resource` object of the parent resource.

### getKeys

    public String[] getKeys()

  Gets keys for the `URLresource`.

  Specified by:
    `getKeys` in interface `Resource`
  Specified by:
    `getKeys` in class `ResourceBase`
  Returns:
    an array of Strings containing the `URLResource`'s keys.

### getFieldType

    public int getFieldType(String fieldName)

  Description copied from interface: `SelfDescribingResource`
  Describe `getFieldType` method here.

  Specified by:
    `getFieldType` in interface `SelfDescribingResource`
  Overrides:
    `getFieldType` in class `ResourceBase`
  Parameters:
    `fieldName` - the `String` name of the field being queried.
  Returns:
    the `int` field type of `fieldName`

### getRepeatingFieldIndex

    public int getRepeatingFieldIndex()

  Description copied from interface: `SelfDescribingResource`
  `getRepeatingFieldIndex` returns an index into the array returned by `getKeys()` that signifies what part of the Resource's fields repeat as the hierarchy is traversed. For example, in the `URLResource`, the `httpMethod` is repeated as the hierarchy is walked. A value of `-1` indicates that there are no repeating fields.

  Specified by:
    `getRepeatingFieldIndex` in interface `SelfDescribingResource`
  Overrides:
    `getRepeatingFieldIndex` in class `ResourceBase`
  Returns:
    the index of the repeating fields or -1 if none

### getRepeatingFieldTerminatingIndex

    public int getRepeatingFieldTerminatingIndex()

  Description copied from interface: `SelfDescribingResource`
  The field returned by `getRepeatingFieldIndex` is repeated as the Resource is shortened up to and including this field index. After this field index the repetition is no longer applied.

  Specified by:
    `getRepeatingFieldTerminatingIndex` in interface `SelfDescribingResource`
  Overrides:
    `getRepeatingFieldTerminatingIndex` in class `ResourceBase`
  Returns:
    an `int` describing the terminating index or `getKeys().length` if none

### getApplicationName

    public String getApplicationName()

  Gets the name of the application associated with the `URLResource`.

  Returns:
    the name of the application associated with the `URLResource`, represented as a String.

### getContextPath

    public String getContextPath()

  Gets the `URI` of the Web component.

  Returns:
    a String representing the `URI` of the Web component.

### getURI

    public String getURI()

  Gets the `URI` of the Web component.

  Returns:
    the `URI` of the Web component, represented as a String.

### getHttpMethod

    public String getHttpMethod()

  Gets the HTTP method of the URL resource.

  Returns:
    the name of the HTTP method on the `URLResource`, represented as a String.

### getTransportType

    public String getTransportType()

  Gets the transport guarantee required to access the `URLResource`.

  Returns:
    the transport guarantee required to access the `URLResource`.

### mappingToLowerCase

    public boolean mappingToLowerCase()

  Returns true if we are mapping the contextPath and URI to lower case upon creation.

### equals

    public boolean equals(Object obj)

  Compares this resource to the resource in the specified object.

  Specified by:
    `equals` in interface `Resource`
  Overrides:
    `equals` in class `ResourceBase`
  Parameters:
    `obj` - the other resource with which to compare this resource.

  Returns:
    `TRUE` if the resource passed in matches this resource, and `FALSE` otherwise.

  See Also:
    `Object.equals(Object)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs92 Copyright 2006 BEA Systems Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD